2017-05-14 140 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实例,在这里你可以找到你的模型定义的味精