2017-12-31 333 views
0

電子メールが一意であることを示すエラーメッセージとともに検証を追加したいと考えています。私はpongging mongoose-unique-validatorを使いました。私はDBにすでにある電子メールを保存しよう、と私は私が必要なものマングース独自のカスタム検証

ValidationError: User validation failed: email: Error, expected `email` to be unique. Value: `[email protected]` 
at ValidationError.inspect (C:\nodeapps\pps\node_modules\mongoose\lib\error\validation.js:57:23) 

を取得する場合はここで

は私のモデル

var mongoose = require('mongoose'); //V 3.6.1 
var uniqueValidator = require('mongoose-unique-validator'); 

// User Schema 
var UserSchema = mongoose.Schema({ 
    username: { 
     type: String, 
     required: true 
    }, 
    email: { 
     type: String, 
     index: true, 
     unique: true, 
     required: true, 
     uniqueCaseInsensitive: true 
    }, 
    password: { 
     type: String, 
     required: true 
    } 
}); 

UserSchema.plugin(uniqueValidator); 

あるValidationErrorを、ディスプレイには、このエラーを包むあります私が検証または保存を呼び出すときのフォームのエラー。

誰もそれを行う方法を知っていますか?ユーザーの保存中にエラーが発生した場合、メッセージフィールドにエラーメッセージが含まれている必要があります次に

let user = new User({ 
    username: 'username', 
    email: 'email', 
    password: 'password' 
}) 

user.save(function (error) { 
    if (error) { 
    console.log(error.message) 
    } 
}) 

答えて

0

私はちょうどこのようUser.saveを呼び出すことができると思います。

+0

はい!私はコンソールでエラーが発生しましたが、私はそれらを表示したいと思います。次のようにしてください:var errors = req.validationErrors(); \t場合(エラー){ \t \t res.render( '登録'、{ \t \t \tエラー:エラー \t \t})。私はこのエラーをValidationErrorにラップして、フォームにエラーを表示する必要があります – Liza

+0

私はエラーを表示する方法を教えていません。 User.createUser(NEWUSER、関数(ERR、ユーザ){ \t \t \t \t \t \tにconsole.log(ERR); \t})。 – Liza

関連する問題