如何使用joi验证对象中的对象约束



我正在joi的帮助下尝试对象验证。我想将对象验证为像这样的对象内部的约束

let login = {
value: 0/1,
slots: [{ label: '', value: '24 hr'}, { label: '', value: '24 hr'}]
}

这里CCD_ 1是一个对象,在它内部CCD_ 2也是一个对象。所以如果我像下面的一样写

const schema = Joi.object().keys({
value : Joi.number.required(),
slots : Joi.string.required()
});

对象数据类型正确吗?还是应该将string数据类型替换为object数据类型?我想将对象类型验证为约束。

您的slots密钥需要是一个对象数组:

const schema = Joi.object().keys({
value: Joi.number().required(),
slots: Joi.array().items(
Joi.object().keys({
label: Joi.string().required().allow(''),
value: Joi.string().required()
})
)
})

这样,以下对象将有效:

const obj = {
value: 1,
slots: [
{
label: '',
value: '24 hr'
}
]
}

相关内容

  • 没有找到相关文章

最新更新