node.js - Sequelizejs 未显示所有验证错误或消息

标签 node.js sequelize.js

这是我的 models.js

var User = require('../../managedb').User;

module.exports = function(sequelize, DataTypes) {


  return sequelize.define('User', {
    username: {
      type: DataTypes.STRING,
      unique: {
        msg: "Username already exists!"
      }
    },
    password: {
      type: DataTypes.STRING,
      len: {
        args: 6,
        msg: "Password must be atleast 6 characters in length"
      }
    },
    email_id:{
      type: DataTypes.STRING,
      unique:{
        msg: "Email already exists!"
      },
      validate: {
        isEmail: {
          msg: "Email is invalid!"
        },
        notNull: true,
      }
    },
    id: {
      type: DataTypes.INTEGER,
      primaryKey: true,
      autoIncrement: true
    }
  },
    {
    instanceMethods: {
      countTasks: function() {
        // how to implement this method ?
      }
    }
  });

这是当我尝试使用非唯一用户名和电子邮件保存对象时收到的错误响应:

'{"length":173,"name":"error","severity":"ERROR","code":"23505","detail":"Key (email_id)=(yup2@gmail.com) already exists.","file":"nbtinsert.c","line":"397","routine":"_bt_check_unique"}'

我必须先运行 validate() 函数吗?我哪里出错了?

最佳答案

验证必须是属性定义中 validate 对象的一部分:

return sequelize.define('User', {
  username: {
    type: DataTypes.STRING,
    validate: {
      unique: {
        msg: "Username already exists!"
      }
    }
  }
})

关于node.js - Sequelizejs 未显示所有验证错误或消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17040248/

相关文章:

node.js - Visual Studio 2015 Update 2 中的 NPM 错误,无法还原包

node.js - 是否有 Node OAuth 服务器实现

node.js - 如何运行sequelize db :migrate on Elastic Beanstalk EB with env vars? 如何访问容器命令中的.env vars?

node.js - 如何使用 Sequelize 查询某个类别下的所有产品(包括子类别的产品)

node.js - 如何在 Windows 上的一行中设置多个环境变量?

node.js - 将meteor应用程序部署到heroku时,METEOR_SETTINGS is not valid json错误

node.js - Jest 无法处理sequelize.sync() promise

javascript - 'symbol-keyed'中的 `JSON.stringify`是什么意思

node.js - 迁移 - SequqlizeCLI 和/或带有 node.js 的 Umzug。使用 Sequelize CLI 和 Umzug 的区别?

node.js - Azure 网站 + node.js - 无法获取/