有效负载验证未按预期工作
payload validation is not working as expected
名为 creator 的数组的负载验证工作不正常
这是有效载荷验证:
creator: {
_id:Joi.string().required(),
name: Joi.string().required()
}
创建者应该是必填字段,如果未作为输入输入到 http 正文中,应该抛出错误。
这是猫鼬模式:
var User = {
_id: {type: Schema.ObjectId, ref: 'Admin'},
name: {type: String, ref: 'Admin'}
};
var Note = new Schema({
creator: User });
目前,如果我不在 http 正文中传递 creator,没有它仍然可以正常工作。
不确定它的猫鼬方面,但如果问题是 "how to validate an array with 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: ''}]
名为 creator 的数组的负载验证工作不正常 这是有效载荷验证:
creator: {
_id:Joi.string().required(),
name: Joi.string().required()
}
创建者应该是必填字段,如果未作为输入输入到 http 正文中,应该抛出错误。 这是猫鼬模式:
var User = {
_id: {type: Schema.ObjectId, ref: 'Admin'},
name: {type: String, ref: 'Admin'}
};
var Note = new Schema({
creator: User });
目前,如果我不在 http 正文中传递 creator,没有它仍然可以正常工作。
不确定它的猫鼬方面,但如果问题是 "how to validate an array with 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: ''}]