javascript - 使用 Yup 检查数组长度的验证 --> 如果长度 === 1 则出错

标签 javascript reactjs yup

我有以下对象:

{
    array: [1]
}

以及以下代码:
myArray: Yup.array().of(
    Yup.object().shape({
        name: Yup.string().max(255).required().label('Name')
    })
)

现在我检查名称是必需的,我需要检查是否 myArraylength === 1返回错误。

最佳答案

您可以使用 mixed.test(options: object) 如果您只想测试 length === 1 :

myArray: array()
  .of(
    object().shape({
      name: string()
        .max(255)
        .required()
        .label("Name")
    })
  )
  .test({
    message: 'The error message if length === 1',
    test: arr => arr.length !== 1,
  })

演示:

Edit holy-http-e3y4e

array.min(limit: number | Ref, message?: string | function) 如果你想测试length === 0 | 1 :
myArray: Yup.array()
  .of(
    Yup.object().shape({
      name:Yup.string()
        .max(255)
        .required()
        .label('Name')
      })
  )
  .min(2, 'The error message if length === 0 | 1')

演示:

Edit happy-sea-dds1e

关于javascript - 使用 Yup 检查数组长度的验证 --> 如果长度 === 1 则出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62148702/

相关文章:

reactjs - Redux:是否有任何标准实现或库来跟踪异步请求的状态?

javascript - 是的验证;同一字段可以接受不同类型吗?

javascript - 来自 Yup 的自定义验证的错误消息不会消失

reactjs - 基于另一个非必填字段的Yup验证

JavaScript 条件评估结果为 false?

javascript - Chrome开发工具: temporary turn off events

class - 使用 React.js 在选项卡上切换类

javascript - 如何在某个特定组件发出某些内容时让其他组件监听,包括 Stackblitz 演示

javascript - ng-file-upload + 将多个文件数组空发送到服务器 (sails)

javascript - c3.js如何在x/y轴上设置json数据