执行保存时,回调将传递error
参数。在回调中区分系统/内部错误和验证错误的正确方法是什么?
model.save(function (err, model) {
if (validation err) {
// do smth
} else {
// do smth else
}
});
答案 0 :(得分:0)
根据Mongoose documentation关于验证:
验证失败后返回的错误包含错误对象 持有实际的ValidatorErrors。每个ValidatorError都有一个类型, path和value属性为我们提供了更多错误 处理灵活性。
console.log(err.errors.color.value) // prints "grease"
console.log(err.name) // prints "ValidationError"
console.log(err.message) // prints "Validation failed"
和
验证错误后,文档也会出现相同的错误 物业:
toy.errors.color.message === err.errors.color.message