Fix: Leerzeichen-Validierung für Fahrrad-Namen
- Trimmen von Leerzeichen am Anfang und Ende des Namens - Validierung verhindert Namen, die nur aus Leerzeichen bestehen - Optional-Felder (brand, model, notes) werden ebenfalls getrimmt - Leere optionale Strings werden zu undefined konvertiert - Erweiterte Testfälle für Leerzeichen-Validierung hinzugefügt
This commit is contained in:
@@ -36,11 +36,15 @@ export const MaintenanceAction = z.enum([
|
||||
])
|
||||
|
||||
export const bikeSchema = z.object({
|
||||
name: z.string().min(1, 'Name ist erforderlich'),
|
||||
brand: z.string().optional(),
|
||||
model: z.string().optional(),
|
||||
name: z
|
||||
.string()
|
||||
.min(1, 'Name ist erforderlich')
|
||||
.trim()
|
||||
.min(1, 'Name darf nicht nur aus Leerzeichen bestehen'),
|
||||
brand: z.string().optional().transform((val) => val?.trim() || undefined),
|
||||
model: z.string().optional().transform((val) => val?.trim() || undefined),
|
||||
purchaseDate: z.string().datetime().optional().or(z.date().optional()),
|
||||
notes: z.string().optional(),
|
||||
notes: z.string().optional().transform((val) => val?.trim() || undefined),
|
||||
})
|
||||
|
||||
export const wearPartSchema = z.object({
|
||||
|
||||
Reference in New Issue
Block a user