Tengo un formulario bastante complejo usando React-Hook-Form. No puedo hacer que la validación funcione correctamente.
El esquema de validación de la biblioteca zod es como tal:
// For the form to be valid, // Atleast 2 goal forms, with min. 1 task export const schemaZod = z.object({ goals: z .object({ title: z.string().min(3, { message: "required" }).max(40), intro: z.string().max(250).optional(), deadline: (z.string() || z.date()).optional(), task: z .object({ content: z.string().min(3, { message: "required" }).max(50), dayFrequency: z.number().min(0).max(5).optional(), weekFrequency: z.number().min(0).max(7).optional(), }) .array() .min(1), }) .array() .min(2), }); const ctx = useForm({ mode: "onChange", resolver: zodResolver(schemaZod), }); Aquí hay un ejemplo funcional de CodeSandBox , mis más sinceras disculpas por tanto código. Es una forma compleja y no puedo hacer que la validación formState.isValid sea verdadera, incluso cuando se cumplen las condiciones.