Skip to content

Commit 0c84a50

Browse files
authored
AYS-534 | Update name form field validations (#356)
1 parent 5851307 commit 0c84a50

File tree

3 files changed

+23
-6
lines changed

3 files changed

+23
-6
lines changed

src/lib/nameboxValidation.ts renamed to src/lib/strictValidation.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,17 @@ export const nameboxWithLengthValidation = (
1818
.refine(nameboxValidation, {
1919
message: 'validation.invalid',
2020
})
21+
22+
export const strictNameValidation = z
23+
.string()
24+
.min(2, { message: 'validation.minLength' })
25+
.max(100, { message: 'validation.maxLength' })
26+
.regex(/^\p{L}(?:[\p{L}\s.,'-]*\p{L})?$/u, {
27+
message: 'validation.invalid',
28+
})
29+
.refine((val) => !/ {2,}/.test(val), {
30+
message: 'validation.invalid',
31+
})
32+
.refine((val) => !/[.,'-]{2,}/.test(val), {
33+
message: 'validation.invalid',
34+
})

src/modules/adminRegistrationApplications/constants/formValidationSchema.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import {
33
PhoneNumberSchema,
44
} from '@/constants/formValidationSchema'
55
import { emailRegex } from '@/constants/regex'
6-
import { nameboxWithLengthValidation } from '@/lib/nameboxValidation'
6+
import { nameboxWithLengthValidation } from '@/lib/strictValidation'
77
import { z } from 'zod'
88

99
const UserSchema = z.object({

src/modules/users/constants/formValidationSchema.ts

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,15 @@
11
import { z } from 'zod'
22
import { emailRegex } from '@/constants/regex'
3-
import { nameboxWithLengthValidation } from '@/lib/nameboxValidation'
3+
import {
4+
nameboxWithLengthValidation,
5+
strictNameValidation,
6+
} from '@/lib/strictValidation'
47
import { PhoneNumberSchema } from '@/constants/formValidationSchema'
58

69
export const UserValidationSchema = z.object({
710
id: z.string(),
8-
firstName: nameboxWithLengthValidation(2, 100),
9-
lastName: nameboxWithLengthValidation(2, 100),
11+
firstName: strictNameValidation,
12+
lastName: strictNameValidation,
1013
emailAddress: z
1114
.string({
1215
required_error: 'validation.required',
@@ -24,8 +27,8 @@ export const UserValidationSchema = z.object({
2427
})
2528

2629
export const CreateUserValidationSchema = z.object({
27-
firstName: nameboxWithLengthValidation(2, 100),
28-
lastName: nameboxWithLengthValidation(2, 100),
30+
firstName: strictNameValidation,
31+
lastName: strictNameValidation,
2932
emailAddress: z
3033
.string({
3134
required_error: 'validation.required',

0 commit comments

Comments
 (0)