fix(repairs): Log repair submit silently ignored with empty defaults
The broken-model UUID fields used z.string().uuid().optional(), which only accepts undefined — not the '' defaults. When the broken serial matched an existing part, those fields unmounted before their FormMessage could render, so handleSubmit aborted on hidden errors and the mutation never fired. Accept the empty-string sentinel alongside UUIDs. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -44,9 +44,9 @@ const Schema = z
|
|||||||
.object({
|
.object({
|
||||||
hostId: z.string().uuid('Pick a host'),
|
hostId: z.string().uuid('Pick a host'),
|
||||||
brokenSerial: z.string().trim().min(1, 'Required').max(128),
|
brokenSerial: z.string().trim().min(1, 'Required').max(128),
|
||||||
brokenPartModelId: z.string().uuid().optional(),
|
brokenPartModelId: z.union([z.literal(''), z.string().uuid()]).optional(),
|
||||||
brokenMpn: z.string().trim().max(128).optional(),
|
brokenMpn: z.string().trim().max(128).optional(),
|
||||||
brokenManufacturerId: z.string().uuid().optional(),
|
brokenManufacturerId: z.union([z.literal(''), z.string().uuid()]).optional(),
|
||||||
replacementSerial: z.string().trim().min(1, 'Required').max(128),
|
replacementSerial: z.string().trim().min(1, 'Required').max(128),
|
||||||
fmId: z.string().optional(),
|
fmId: z.string().optional(),
|
||||||
brokenExists: z.boolean().optional(),
|
brokenExists: z.boolean().optional(),
|
||||||
|
|||||||
Reference in New Issue
Block a user