I've followed tutorials on yup and tried many ways to do this but don't understand the error on simple form validation. I get the error field.resolve is not a function.
This is the snippet of code inside the onClick function:
const registrationSchema = yup.object().shape({
username: yup.string().required,
email: yup.string().email().required,
password: yup.string().min(0).max(10).required,
});
const formData = {
username: registerUsername,
email: registerEmail,
password: registerPassword,
};
const answer = registrationSchema.isValid(formData).then(function (valid) {
console.log("works");
});
I'm really confused over how and why this is't working.
CodePudding user response:
Your required should be required() like:
const registrationSchema = yup.object().shape({
username: yup.string().required(), // <-------
email: yup.string().email().required(), // <-------
password: yup.string().min(0).max(10).required(), // <-------
});
const formData = {
username: registerUsername,
email: registerEmail,
password: registerPassword,
};
const answer = registrationSchema.isValid(formData).then(function (valid) {
console.log("works");
});
Credit: https://github.com/jaredpalmer/formik/issues/1040#issuecomment-624803999
