【发布时间】:2021-08-18 22:42:42
【问题描述】:
我想使用我的架构在其他字段的基础上验证一个字段。比如,如果 carType 是“SUV”,则最大“noOfPassengers”应该是 6,否则是 4。但是,它没有验证这种情况,我既不能调试它,也不能在控制台中得到任何错误。
const validationSchema = yup.object().shape({
location: yup
.string()
.required('location is required'),
destination: yup
.string()
.required('Destination is required'),
carType: yup
.string(),
noOfPassengers: yup
.string()
.when('carType', {
is: value => value && value === "SUV",
then: yup
.string()
.max(6, 'Max 6 passengers are required'),
otherwise: yup
.string()
.max(4, 'Max 4 passengers are required'),
}),
});
【问题讨论】:
-
你能分享你的表单代码吗?
-
你试过简单的
is: 'SUV'吗?
标签: javascript reactjs typescript formik yup