2016-11-20 29 views
2

私はこのエラーを取得しています:未処理の拒絶SequelizeUniqueConstraintError:検証エラー

Unhandled rejection SequelizeUniqueConstraintError: Validation error 

が、私はこれをどのように修正することができますか?

これは

"use strict"; 

module.exports = function(sequelize, DataTypes) { 
    var User = sequelize.define("User", { 
    id: { type: DataTypes.INTEGER, autoIncrement: true, primaryKey: true}, 
    name: DataTypes.STRING, 
    environment_hash: DataTypes.STRING 
    }, { 
    tableName: 'users', 
    underscored: false, 
    timestamps: false 
    } 

); 

    return User; 
}; 

私のモデル/ user.jsのであり、これは私のroutes.jsです:

app.post('/signup', function(request, response){ 

     console.log(request.body.email); 
     console.log(request.body.password); 

     User 
     .find({ where: { name: request.body.email } }) 
      .then(function(err, user) { 
       if (!user) { 
         console.log('No user has been found.'); 

         User.create({ name: request.body.email }).then(function(user) { 
          // you can now access the newly created task via the variable task 
          console.log('success'); 
         }); 

       } 
      }); 



    }); 

答えて

4

User.create()への呼び出しがPromise.reject()を返しているが、処理するために、何の.catch(err)はありませんそれ。エラーをキャッチし、入力、それは検証エラーが何であるかを言うのは難しいの価値を知らずに - request.body.emailプロミスは、エラー/検証の詳細を確認するために拒否など

キャッチ、長すぎる可能性があり

User.create({ name: request.body.email }) 
.then(function(user) { 
    // you can now access the newly created task via the variable task 
    console.log('success'); 
}) 
.catch(function(err) { 
    // print the error details 
    console.log(err, request.body.email); 
}); 
3

ユニーク制約が作成されている場合は、データベースをチェックインしてください。ユニークに値を設定して変更しましたが、それを変更しましたが、後継はデータベースから削除できませんでした。

関連する問題