定义的验证错误消息未显示在node.js中

时间:2015-06-22 05:58:43

标签: node.js express mongoose mean

我是一名平均学习者。

我编写了一个Schema并将其保存在Controller类中。 在模式中,我像这样定义验证错误消息

var userSchema = new Schema( {
      name: {type: String, required : 'please insert name'}
  });
User = mongoose.model('User', userSchema);

module.exports = {
User : User
};

将其保存在控制器类中并打印错误

insertUser.save(function (err,user){
    if(err) {
        console.log(err);
        res.send(err);
    }
    else res.send("inserted user name : " + user.name);
});

但我发现错误信息

{"message":"Validation failed","name":"ValidationError","errors":{"name":    {"message":"Validator \"required\" failed for path name with value `undefined`","name":"ValidatorError","path":"name","type":"required"}}}

什么样的改变让我实现了显示正确的验证信息? 谢谢你提前。

1 个答案:

答案 0 :(得分:0)

var userSchema = new Schema({
   name: { type: String }
});

userSchema.path('name').validate(function (value) {

  return value.length !== 0;

}, 'please insert name');