有条件的Yup验证不起作用

时间:2020-04-25 01:05:57

标签: reactjs formik yup

我有formik form以下的initialValues

 const initialValues1 = { 
   people: [
   {
     id: Math.random(),
     email: "",
     isNewUser: true,
     profile: {
       firstName: "",
       lastName: "",

     }
   }
  ]
 };

我只想在firstName的{​​{1}}之前验证lastNameisNewUser is true,但无法正常工作。如何在Yup

中有条件地进行验证
Formik Yup

1 个答案:

答案 0 :(得分:0)

根据docs

根据同级同级子级字段调整架构。您 可以提供键为值或匹配项的对象文字 函数,然后提供真实的架构和/或其他方式 失败条件。

因此移动isNewUser以反映为同级。 赞!

const initialValues1 = { 
   people: [
   {
     id: Math.random(),
     email: "",
     //isNewUser: true, // <--------------- remove this
     profile: {
       firstName: "",
       lastName: "",
       isNewUser: true // <---------------- here.
     }
   }
  ]
 };