2017-05-14 177 views
0

我已經在sequelize定義這種模式:捕獲錯誤

"use strict"; 
var sequelize = require('./index'); 
var bcrypt = require('bcrypt-nodejs'); 

module.exports = function (sequelize, DataTypes) { 
    var User = sequelize.define("User", { 
    username: DataTypes.STRING, 
    email: { 
     type: DataTypes.STRING, 
     allowNull: false, 
     validate: { 
     isEmail: true 
     }, 
     unique: { 
     args: true, 
     msg: 'Email address already in use!' 
     } 
    }, 
    password: DataTypes.STRING 
    }, { 
     classMethods: { 
     generateHash: function (password) { 
      return bcrypt.hashSync(password, bcrypt.genSaltSync(8), null); 
     }, 

     }, 
     instanceMethods: { 
     validPassword: function (password) { 
      return bcrypt.compareSync(password, this.password); 
     }, 
     checkEmailExists: function (email) { 
      return email == this.email 
     } 
     } 


    }); 



    return User; 
} 

我需要檢測,如果電子郵件已位於存在,所以我把一個自定義的驗證上的電子郵件,但後來在我的路由我有這個:

var express = require('express'); 
var User = require('../../models').User; 
var router = express.Router(); 
var sequelize = require('../../models/index'); 


/* GET users listing. */ 
router.post('/', function (req, res, next) { 

    if (JSON.stringify(req.body) == "{}") { 
    return res.status(400).json({ Error: "Register request body is empty" }); 
    } 
    if (!req.body.email || !req.body.username || !req.body.password) { 
    return res.status(400).json({ Error: "Missing fields for registration" }); 
    } 

    var password = User.generateHash(req.body.password); 


    User.create({ 
    username: req.body.username, 
    email: req.body.email, 
    password: password 
    }).then(function() { 
    return res.status(200).json({ message: "user created" }); 
    }).catch(function (err) { 
    return res.status(400).json({ message: "issues trying to connect to database" }); 
    }) 

}); 


module.exports = router; 

好像因爲它檢測到的電子郵件已經存在,正在進入追趕,但我想顯示的是模型內部,而不是該catch這可能意味着別的什麼消息,我怎麼能顯示它在我的路由?

回答

0

結帳err對象,它是SequelizeError實例,在這裏你可以找到你的模型定義的味精