如何解决是的,验证输入依赖
大家好,我有以下验证:
const questionAddValidation = Yup.object().shape({
questions: Yup.array().of(
Yup.object({
question: Yup.string().required().min(100)
level: Yup.string().required().when("question",{
is: (value) => value.length > 0,then: Yup.string().required(),}),answers: Yup.array().of(
Yup.object({
answer: Yup.string().required().min(1).when("question",{
is: (value) => value && value.length > 0,})
),})
),
我想要做的是,如果用户将在 question
输入中为其他输入输入内容,则应该可以使用 required()
方法。
我尝试以下操作:
is: (value) => value.length > 0
但它不起作用,
Unhandled Rejection (TypeError): Cannot read property 'length' of undefined
你能帮我解决这个问题吗?
解决方法
您只需在 required()
之前删除 when
level: Yup.string().when("question",{
is: (value) => value.length > 0,then: Yup.string().required(),}),
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。