Open
Description
Description
When using input[type="number"] in a form, the DOM sets its value as a string, even though it represents a number. In React Hook Form (RHF), this value is passed as-is to the resolver.
However, when using Zod as the validation schema (via zodResolver), Zod expects a number type for something like z.number(), and it fails validation because it's receiving a string (e.g., "42" instead of 42).
The current workaround is to explicitly use z.coerce.number() instead of z.number(), which tells Zod to coerce the string into a number before validating.
The Zod resolver could optionally auto-coerce number-like strings (from number inputs) when validating against z.number().