Formik Yup 验证:允许数组中的特定对象

问题描述

我有一个字段,它应该允许在数组中具有特定组合的对象。例如:

 [
  {firstName: 'A',lastName:'AAA'},// valid
  {firstName: 'A',lastName:'BBB'},lastName:'CCC'},//not allowed
 ]

是的,这可能吗?

解决方法

有这样的吗?见documentation

const schema = yup.object().shape({
  firstName: yup.mixed().test('firstName','not in the list',value => ['A','B'].includes(value)),lastName: yup.mixed().test('firstName',value => ['AAA','BBB'].includes(value))
});

或者您可能想要评估整个对象而不是单个属性以进行更复杂的验证。

相关问答

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