In Yup Schemas Are Validated Asynchronously, I showed how to create a simple schema that allows you to enforce that a value is a number.
const numSchema = yup.number();
If we use this schema to validate something that isn't a number, Yup will
provide a lengthy default message. Here is what we get if we validate against
'hey'
:
this must be a
number
type, but the final value was:NaN
(cast from the value"hey"
).
This value isn't necessarily suitable for displaying to a user. We can
customize the type checking error message by redefining our schema with the
typeError()
function:
const numSchema = yup.number().typeError("Invalid number");