Joi 使用未知键验证对象
Joi validate object with unknown keys
如何使用 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,
}
我想验证每一个未知键以确保它们都包含名称、顺序和一些其他属性,它们都必须具有相同的属性。
我阅读了他们的文档,就是不知道如何处理那些未知的密钥。
您可以使用 object.pattern:
Joi.object().pattern(
/\d/,
Joi.object().keys({
name: Joi.string().valid('string'),
order: Joi.number().integer(),
})
)
这意味着你的keys
必须是数字,它们的值必须是用name
和order
定义的object
,这意味着,你的任何例子数据将通过。
如何使用 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,
}
我想验证每一个未知键以确保它们都包含名称、顺序和一些其他属性,它们都必须具有相同的属性。
我阅读了他们的文档,就是不知道如何处理那些未知的密钥。
您可以使用 object.pattern:
Joi.object().pattern(
/\d/,
Joi.object().keys({
name: Joi.string().valid('string'),
order: Joi.number().integer(),
})
)
这意味着你的keys
必须是数字,它们的值必须是用name
和order
定义的object
,这意味着,你的任何例子数据将通过。