我正在尝试使用Formik + Yup来验证我的表单,但是当前如果我触摸一个字段,然后尝试提交,则具有最小长度的字段将被验证,并且不允许我提交。
在我的代码沙箱(https://codesandbox.io/s/focused-bardeen-5fiuz之后,我希望用户能够只更改firstName
字段但不为country
字段输入任何内容的情况下提交表单。我同时尝试了.notRequired()
和.nullable(true)
参数,但是没有用。知道如何实现吗?
答案 0 :(得分:1)
您可以尝试对test
使用自定义验证。 https://codesandbox.io/s/laughing-dust-f9wet
country: yup
.string()
.test("isValidCode", "Country must be 2-letters (ISO codes).", value => {
if (!value) {
return true;
}
return value.toString().length === 2;
})