【问题标题】:Joi validate object with unknown keysJoi 使用未知键验证对象
【发布时间】:2021-10-10 01:33:58
【问题描述】:

如何使用 Joi 验证具有未知键的对象?这是我的数据示例

{
'5520': {
    name: 'string',
    order: 0,
},
'8123': {
    name: 'string',
    order: 5,
},
'8219': {
    name: 'string',
    order: 1,
},
'10113': {
    name: 'string',
    order: 2,
},
'14538': {
    name: 'string',
    order: 6,
},
'15277': {
    name: 'string',
    order: 4,
},
'16723': {
    name: 'string',
    order: 3,
}

我想验证这些未知键中的每一个,以确保它们都包含名称、顺序和一些其他属性,它们都必须具有相同的属性。

我阅读了他们的文档,只是不知道如何处理那些未知的键。

【问题讨论】:

标签: validation joi


【解决方案1】:

你可以使用object.pattern:

Joi.object().pattern(
    /\d/, 
    Joi.object().keys({
      name: Joi.string().valid('string'),
      order: Joi.number().integer(),
    })
)

这意味着您的keys 必须是数字,并且它们的值必须是使用nameorder 定义的object,这意味着您的任何示例数据都将通过。

【讨论】:

  • 很高兴为您提供帮助:)
猜你喜欢
  • 2019-12-13
  • 2017-06-04
  • 2015-10-19
  • 2017-08-05
  • 2018-02-27
  • 2018-01-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多