В настоящее время я использую 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
, чтобы делать подобные вещи. Какая разница между ними и какой из них я должен использовать в каких случаях?