【问题标题】:defined validation error message are not showing in node.jsnode.js 中未显示定义的验证错误消息
【发布时间】:2015-09-07 11:47:53
【问题描述】:

我是一个刻薄的学习者。

我已经编写了一个 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"}}}

什么改变使我能够显示正确的验证消息? 提前致谢。

【问题讨论】:

  • 您是否使用任何验证包?需要更多代码来分析
  • 你能定义“显示正确的验证信息”吗?目前尚不清楚您想向谁展示具体内容。
  • 是的,我愿意。这是包 validate = require('mongoose-validator')

标签: node.js express mongoose mean


【解决方案1】:
var userSchema = new Schema({
   name: { type: String }
});

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

  return value.length !== 0;

}, 'please insert name');

【讨论】:

    猜你喜欢
    • 2016-07-23
    • 2018-02-08
    • 2023-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-20
    • 1970-01-01
    • 2022-06-20
    相关资源
    最近更新 更多