你好,我正在尝试做一个复合的Joi验证,但是我失败了。
我尝试验证的是以下对象:
{
content: {
dynamicKeyName: {
title: '1',
link: 'ggdf',
order: 1,
},
dynamicKeyName2: {
title: 'tttt',
link: 'bbbb',
order: 2,
},
.
.
.
}
}我正在尝试创建一个验证规则,它将有许多类似于dynamicKeyName对象的子对象,而不知道确切的键名,但具有相似的值对象。
我写了以下Joi规则:
const subSchema = Joi.object().required().keys({
title: Joi.string().required(),
link: Joi.string().required(),
order: Joi.number().integer().required(),
});
const schema = Joi.object().keys({
content: Joi.object().pattern(/^[\w\d]+$/, subSchema),
.
.
.
});然而,当我运行验证时,我得到一个错误:"additional property dynamicKeyName不应该有额外的属性“
发布于 2018-01-11 02:43:32
因此,我尝试了上面发布的模式和示例,它工作得很好。
可能是其他一些关键因素导致了这个问题。

尝试粘贴要测试的整个架构和数据。
https://stackoverflow.com/questions/47928790
复制相似问题