我有一组具有相同结构的对象。是否可以,如果将一个对象中的项目设置为在所有其他对象中都需要它?
const arr = [
{
item1: 1,
item2: 2
},
{
item1: 3
}
]
在这个例子中,这将是一个错误,因为在第二个对象中,item2虽然存在于第一个对象中,但并未设置。
答案 0 :(得分:0)
是,您可以指定数组内对象的架构。示例代码
const Joi = require('joi');
const objectSchema = Joi.object({
item1: Joi.number().required(),
item2: Joi.number().required()
})
const arraySchema = Joi.array().items(objectSchema);
const invalidInput = [{
item1: 1,
item2: 2
}, {
item1: 1,
}];
const result = Joi.validate(invalidInput, arraySchema);
console.log(result);
输出将显示错误
{ ValidationError: "value" at position 1 fails because [child "item2" fails because ["item2" is required]]