您好我正在尝试进行复合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),
.
.
.
});
然而,当我运行验证时,我得到一个错误:"其他属性dynamicKeyName不应该有其他属性"