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

Show validation when user selects specific radio button

我在 React.js 中有两个单选按钮 (yes/no),在我的项目中使用了 FormikYup 包。

我想在用户从两个选项中选择“否”选项时使用架构提供验证消息。

虽然我能够提供所需的验证器Yup

谁能帮我解决这个问题?

我试过下面一个,它成功了,

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