Yup 的条件验证问题
Problems in conditional validation with Yup
在两个有验证的字段中,其中一个,如果另一个没有填写,则需要请求,反之亦然
这样做
email: yup.string().email().when('phone', {
is: (phone) => !phone || phone.length === 0,
then: yup.string().email().required(),
otherwise: yup.string()
}),
phone: yup.string().when('email', {
is: (email) => !email || email.length === 0,
then: yup.string().required(),
otherwise: yup.string()
})
});
以我的方式出现以下错误:"Error: Cyclic dependency, node was: value"
你可以做的是创建一个形状
const obj = yup.object().shape({
email: yup.string().email()
.when('phone', {
is: (phone) => !phone || phone.length === 0,
then: yup.string().email().required(),
otherwise: yup.string()
})
phone: yup.string()
.when('email', {
is: (email) => !email || email.length === 0,
then: yup.string().required(),
otherwise: yup.string()
})
}, ['email', 'phone'])
在两个有验证的字段中,其中一个,如果另一个没有填写,则需要请求,反之亦然 这样做
email: yup.string().email().when('phone', {
is: (phone) => !phone || phone.length === 0,
then: yup.string().email().required(),
otherwise: yup.string()
}),
phone: yup.string().when('email', {
is: (email) => !email || email.length === 0,
then: yup.string().required(),
otherwise: yup.string()
})
});
以我的方式出现以下错误:"Error: Cyclic dependency, node was: value"
你可以做的是创建一个形状
const obj = yup.object().shape({
email: yup.string().email()
.when('phone', {
is: (phone) => !phone || phone.length === 0,
then: yup.string().email().required(),
otherwise: yup.string()
})
phone: yup.string()
.when('email', {
is: (email) => !email || email.length === 0,
then: yup.string().required(),
otherwise: yup.string()
})
}, ['email', 'phone'])