Dùng @hookform/resolvers/zod với zodResolver: const { register, handleSubmit } = useForm({ resolver: zodResolver(schema) }).
- Define schema:
const schema = z.object({ email: z.string().email(), age: z.number().min(18) }). - Errors type-safe từ Zod được truyền vào formState.errors.
- Cách tiếp cận hiện đại nhất cho type-safe forms.