使用Yup验证多个必填字段吗?

问题描述

我正在尝试使用Yup和React Hook Form处理3个输入的验证。

我遇到的问题实际上是能够根据其他输入的值返回自定义错误消息。

所以我有3个字段:

  • 一个安全答案
  • 安全性答案二
  • 密码

条件非常简单:

  • 所有三个字段都是必需的。
  • SA1不能等于SA2,反之亦然。
  • SA1和SA2不能等于密码。

我希望它像这样简单:

yup.string()
.required(() => {
    return 'Answer is required';
})
.notOneOf([yup.ref('securityAnswerTwo')],() => {
    return 'Cannot equal other security answer';
})
.notOneOf([yup.ref('password')],() => {
    return 'Cannot equal password';
});

不幸的是,如果yup.ref('securityAnswerTwo')一个空字符串,这是发生了什么-因为尚未输入-并不是在错误地要求输入它,这是在错误它不能等于另一个安全性问题。 / p>

因此,我只是想尝试根据.notOneOf的值来有条件地从yup.ref()返回错误方法

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

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