gpt4 book ai didi

javascript - 使用 Yup 和 Formik 进行条件验证

转载 作者:行者123 更新时间:2023-12-04 02:23:38 25 4
gpt4 key购买 nike

这是我的验证模式:

const validationSchema = Yup.object().shape({
person: Yup.object().shape({
name: Yup.string().required('Field is required'),
surname: Yup.string().required('Field is required'),
middleName: Yup.string().required('Field is required'),
email: Yup.string()
.email('Wrong e-mail format')
.required('Field is required')
}),
company: Yup.object().shape({
name: Yup.string().required('Field is required'),
address: Yup.string().required('Field is required'),
email: Yup.string()
.email('Wrong e-mail format')
.required('Field is required')
})
});

React State 中还有两个变量: isPersonisCompany .如何有条件地进行验证,例如 if isPerson为真,则 personvalidationSchema需要验证吗?

最佳答案

Updated ans: 2020.


你可以使用是的条件
const validationSchema = Yup.object().shape({

isCompany: Yup.boolean(),
companyName: Yup.string().when('isCompany', {
is: true,
then: Yup.string().required('Field is required')
}),
companyAddress: Yup.string().when('isCompany', {
is: (isCompany) => true,//just an e.g. you can return a function
then: Yup.string().required('Field is required'),
otherwise: Yup.string()
}),
});


并确保相应地更新您的表格。我希望你明白这一点...

关于javascript - 使用 Yup 和 Formik 进行条件验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54919228/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com