2015-06-22 93 views
1

我是一名平均學習者。已定義驗證錯誤消息未顯示在node.js中

我寫了一個Schema並將它保存在Controller類中。 在架構我在控制器類和打印ERR

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

定義驗證錯誤消息像這樣

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

module.exports = { 
User : User 
}; 

保存它,但我發現錯誤消息

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

什麼樣的變化讓我實現顯示適當的驗證信息? 感謝先進。

+0

您是否使用任何驗證包?需要更多代碼來分析 – karthick

+0

您可以定義_「顯示正確的驗證消息」_?目前還不清楚你想向誰展示什麼。 – robertklep

+0

是的,我願意。這裏是包validate = require('mongoose-validator') – roconmachine

回答

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

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

    return value.length !== 0; 

}, 'please insert name');