目前我使用pre('save')
进行验证:
UserSchema.pre('save', true, function(next, done) {
var self = this //in case inside a callback
var msg = helper.validation.user.username(self.username)
if (msg) {
self.invalidate('username', msg)
done(helper.getValidationError(msg))
}
else
done()
next()
})
助手模块有一个函数,它接受输入并返回错误消息.
exports.user = {
username: function(input) {
if (!input)
return 'username is required'
var min = 3
var max = 10
if (input.length < min)
return 'username min of length is ' + min
if (input.length > max)
return 'username max of length is ' + max
return null
}
}
还有另一个api validate
可以做类似的事情.它们之间有什么区别?在什么情况下我应该使用哪一种?