名为creator的数组的有效负载验证无法正常工作 这是有效负载验证:
creator: {
_id:Joi.string().required(),
name: Joi.string().required()
}
创建者应该是必填字段,如果没有作为http体中的输入输入,则应该抛出错误。 这是mongoose架构:
var User = {
_id: {type: Schema.ObjectId, ref: 'Admin'},
name: {type: String, ref: 'Admin'}
};
var Note = new Schema({
creator: User });
目前,如果我没有在http正文中传递创建者,那么没有它就可以正常工作。
答案 0 :(得分:1)
不确定它的猫鼬方面,但问题是"如何使用Joi"
验证数组creator: Joi.array().items(Joy.object({
_id:Joi.string().required(),
name: Joi.string().required()
}))
因为你将它命名为" creator" (单数)并且想要一个数组,听起来你可能想要接受一个对象或一个对象数组。您可以在最后使用.single()
执行此操作:
creator: Joi.array().items(Joy.object({
_id:Joi.string().required(),
name: Joi.string().required()
})).single()
这将接受creator: { _id: '' , name: ''}
和creator: [{_id: '', name: ''}]