fix(schemas): accept empty string as null for teamId in person/user forms

This commit is contained in:
2026-06-26 02:20:30 +02:00
parent b662ee798e
commit 58b821b198
2 changed files with 24 additions and 15 deletions
+8 -5
View File
@@ -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
View File
@@ -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,