fix(schemas): accept empty string as null for teamId in person/user forms
This commit is contained in:
@@ -22,11 +22,14 @@ function buildPersonBaseSchema(copy: PersonSchemaCopy) {
|
||||
lastName: z.string().min(1, {
|
||||
error: copy.lastNameRequired,
|
||||
}),
|
||||
teamId: z
|
||||
.string()
|
||||
.uuid({ error: copy.teamIdInvalid })
|
||||
.optional()
|
||||
.nullable(),
|
||||
teamId: z.preprocess(
|
||||
(val) => (val === "" ? null : val),
|
||||
z
|
||||
.string()
|
||||
.uuid({ error: copy.teamIdInvalid })
|
||||
.optional()
|
||||
.nullable(),
|
||||
),
|
||||
email: z.string().optional().nullable(),
|
||||
phone: z.string().optional().nullable(),
|
||||
userId: z
|
||||
|
||||
+16
-10
@@ -92,11 +92,14 @@ export function buildUnifiedUpdateSchema(copy: UnifiedSchemaCopy) {
|
||||
id: z.string().nonempty(copy.idRequired),
|
||||
firstName: z.string().trim().min(1, { error: copy.firstNameRequired }),
|
||||
lastName: z.string().trim().min(1, { error: copy.lastNameRequired }),
|
||||
teamId: z
|
||||
.string()
|
||||
.uuid({ error: copy.teamIdInvalid })
|
||||
.optional()
|
||||
.nullable(),
|
||||
teamId: z.preprocess(
|
||||
(val) => (val === "" ? null : val),
|
||||
z
|
||||
.string()
|
||||
.uuid({ error: copy.teamIdInvalid })
|
||||
.optional()
|
||||
.nullable(),
|
||||
),
|
||||
email: z
|
||||
.union([z.email({ error: copy.emailInvalid }), z.literal(""), z.null()])
|
||||
.optional(),
|
||||
@@ -130,11 +133,14 @@ export function buildUnifiedCreateSchema(copy: UnifiedSchemaCopy) {
|
||||
.object({
|
||||
firstName: z.string().trim().min(1, { error: copy.firstNameRequired }),
|
||||
lastName: z.string().trim().min(1, { error: copy.lastNameRequired }),
|
||||
teamId: z
|
||||
.string()
|
||||
.uuid({ error: copy.teamIdInvalid })
|
||||
.optional()
|
||||
.nullable(),
|
||||
teamId: z.preprocess(
|
||||
(val) => (val === "" ? null : val),
|
||||
z
|
||||
.string()
|
||||
.uuid({ error: copy.teamIdInvalid })
|
||||
.optional()
|
||||
.nullable(),
|
||||
),
|
||||
email: z.email({ error: copy.emailInvalid }),
|
||||
phone: z.string().optional().nullable(),
|
||||
role: unifiedFormRoleSchema,
|
||||
|
||||
Reference in New Issue
Block a user