validation - Joi 使用未知键验证对象
问题描述
如何使用 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
必须是数字,并且它们的值必须用andobject
定义,这意味着您的任何示例数据都将通过。name
order
推荐阅读
- cobol - 使用最新的编译器重新编译旧的 COBOL 源代码
- java - JAVA 8 要从列表分配给对象的内存/集合/列表值
- php - 嵌入式网站如何分辨谁在嵌入它?
- javascript - 动态绘制吉他和弦
- html - 背景模糊但保留表格 CSS 中的文本颜色
- android - 超级账本客户端
- kubernetes - 如何使用 python API 以编程方式从 GCP 服务帐户生成 kubernetes 配置
- java - JavaFX11 的 javafx.stage.Stage 版本无效
- django - 如何更新字段实例的选择选项,而不是整个字段?
- arrays - 如何从数组中填充选择器反应本机