import { z } from 'zod'; const productSchema = z.object({ label: z.string() .min(2, 'Minimum 2 caractères') .max(100, 'Maximum 100 caractères'), price: z.number() .min(0, 'Le prix doit être positif') .max(99999, 'Prix trop élevé'), description: z.string().optional(), category: z.enum(['electronics', 'clothing', 'food'], { errorMap: () => ({ message: 'Catégorie invalide' }) }), stock: z.number().int('Doit être un entier').min(0), isActive: z.boolean().default(true) }); // Validation conditionnelle const orderSchema = z.object({ deliveryType: z.enum(['standard', 'express']), expressDate: z.string().optional() }).refine( data => data.deliveryType !== 'express' || data.expressDate, { message: 'Date requise pour livraison express', path: ['expressDate'] } );