当用户选择特定的单选按钮时显示验证

时间:2020-09-26 19:04:04

标签: reactjs formik yup

我在项目中使用的React.jsFormik程序包中的Yup中有两个单选按钮(是/否)。

当用户从两个选项中选择“否”选项时,我想使用模式提供验证消息。

虽然我可以为所需的验证者提供Yup

有人可以帮我吗?

1 个答案:

答案 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(),
});