这个问题似乎很愚蠢,但我找不到答案......
预挂钩验证和SchemaType验证之间有什么区别?我首先使用预钩中间件来进行验证,但在读完文档之后,我看到我可以在schemaType上做同样的事情。
我调用schemaType验证这种验证:
var validateLogin = function (login, res) {
res(login === 'foo');
}
var UserSchema = new Schema({
login: {
type: String,
required: '{PATH} is required',
validate: [validateLogin, '{PATH} must be foo']
}
});
在猫鼬文档中,我可以看到。
验证在SchemaType中定义
这是否意味着我们应该尽可能多地使用schemaType方式? 什么是真正的差异?
答案 0 :(得分:0)
内置的SchemaType验证在他们可以检查的内容方面相当有限,尽管它们通常足以满足您想要进行的80%或更多验证。
预保存挂钩允许您进行更复杂的验证。作为一个人为的例子,你可以检查给定的数字是否为3或者可以被3整除。
您还可以检查字段之间的一致性 。例如,您可以检查邮政编码/邮政编码是否与用户输入的州/省匹配。