reactjs React yup验证导致promise错误字段,resolve不是函数

ttvkxqim  于 2023-04-11  发布在  React
关注(0)|答案(1)|浏览(98)

我已经学习了yup的教程,并尝试了很多方法来实现这一点,但不明白简单表单验证的错误。我得到了错误field.resolve is not a function
下面是onClick函数内部的代码片段:

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");
    });

我真的很困惑为什么这不起作用。

xjreopfe

xjreopfe1#

你的required应该是required()

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");
    });
  • 图片来源:https://github.com/jaredpalmer/formik/issues/1040#issuecomment-624803999*

相关问题