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

问题描述

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

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

虽然我可以为所需的验证者提供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(),});

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...