我有动态输入量的形式(管理员电子邮件),但检查唯一性失败:
validationSchema={Yup.object().shape({
adminEmails: Yup.array()
.of(
Yup.string()
.notOneOf(Yup.ref('adminEmails'), 'E-mail is already used')
这里最好的方法是什么?仅供参考,作为表单助手,我使用Formik
。
6条答案
按热度按时间sh7euo9m1#
试试这个:
然后像这样使用它:
oxosxuxt2#
如果您希望在每个字段中而不是在数组中包含错误
wlp8pajw3#
简单地这样做它为我工作
首先在react组件中定义此函数
只需将此模式放入Formik标记中
要不显示错误,请执行以下操作
)} /〉
uyhoqukh4#
这是一个简单的内联解决方案,用于验证字符串数组是否只包含唯一元素:
ercv8c1e5#
现在响应可能太晚了,但是无论如何,您应该使用
this.createError({path, message});
参见示例:
wwtsj6pe6#
为了提高Alex答案的性能,可以使用类似下面的代码来预先计算查找(使用lodash)。
然后使用上下文对象调用validate,这样我们就可以在validate调用期间存储计算出的组