我在项目中使用的React.js
和Formik
程序包中的Yup
中有两个单选按钮(是/否)。
当用户从两个选项中选择“否”选项时,我想使用模式提供验证消息。
虽然我可以为所需的验证者提供Yup
。
有人可以帮我吗?
答案 0 :(得分:1)
我尝试了一个,但它奏效了,
yup
.string()
.test("is-no", "value cannot be No", value => value !== "no")
.validate("A")
.then(data => console.log(data))
.catch(data => console.log(data.message));
此外,这是直接验证,未使用任何形式。
要以表单形式使用它,可以重用模式,但不能将validate
用作模式的一部分。
例如,您的架构可以是
yup.object().shape({
name: yup.string(),
yesOrNoField: yup
.string()
.test("only-yes", "Please select YES only", value => value !== "no"),
anyNumberField: yup.number().required(),
});