Sequelize.js-allowNull的自定义消息

预定义规则

如果我有模型用户:

var User = sequelize.define('User', {
  name: {
    type: Sequelize.STRING,
    allowNull: false,
    validate: {
      notEmpty: {
        msg: 'not empty'
      }
    }
  },
  nickname: {
    type: Sequelize.STRING
  }
});

如果名称为null或未提供,如何指定消息?

这段代码:

User.create({}).complete(function (err, user) {
  console.log(err);
  console.log(user);
});

产生:

{ [SequelizeValidationError: Validation error]
  name: 'SequelizeValidationError',
  message: 'Validation error',
  errors: 
   [ { message: 'name cannot be null',
       type: 'notNull Violation',
       path: 'name',
       value: null } ] }

消息“名称不能为空”已生成,似乎不受我的控制。

使用User.create({name:''})向我显示我的自定义消息“不为空”:

{ [SequelizeValidationError: Validation error]
  name: 'SequelizeValidationError',
  message: 'Validation error',
  errors: 
   [ { message: 'not empty',
       type: 'Validation error',
       path: 'name',
       value: 'not empty',
       __raw: 'not empty' } ] }

有没有办法为allowNull提供消息?

谢谢

用户名

不幸的是,当前未实现针对Null验证错误的自定义消息。根据源代码,notNull不赞成使用验证,而建议使用基于架构的验证,并且架构验证代码不允许自定义消息。https://github.com/sequelize/sequelize/issues/1500上有对此功能的要求作为一种解决方法,您可以捕获Sequelize.ValidationError并插入一些包含您的消息的自定义代码。

例如

User.create({}).then(function () { /* ... */ }).catch(Sequelize.ValidationError, function (e) {
    var i;
    for (i = 0; i < e.errors.length; i++) {
      if (e.errors[i].type === 'notNull Violation') {
        // Depending on your structure replace with a reference
        // to the msg within your Model definition
        e.errors[i].message = 'not empty';
      }
    }
})

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类常见问题

GraphQL的Sequelize中的OneToMany关联。自定义外键

来自分类Dev

从已经定义的模型中获取Sequelize.js ENUM值

来自分类Dev

如何在Sequelize.js中定义对象数组?

来自分类Dev

如何在Sails.js中提供自定义模型验证消息?

来自分类Dev

Sequelize,自定义设置器,未设置

来自分类Dev

如何在Sails.js中引发自定义错误消息

来自分类Dev

Sequelize JS-保护属性

来自分类Dev

Named associations with sequelize.js

来自分类Dev

与sequelize.js的命名关联

来自分类Dev

sequelize.js中的自定义json响应

来自分类Dev

通过使用parsley.js每个字段提供多个自定义错误消息支持

来自分类Dev

Sequelize:如何在数据透视表中映射自定义属性

来自分类Dev

Sequelize错误:Index.js中未定义defineCall

来自分类Dev

自定义响应消息,可验证Node js中的所有必需参数

来自分类Dev

JS,expressJS,sequelize,postgres等

来自分类Dev

从自定义.js文件访问应用上下文以获取区域设置消息

来自分类Dev

GraphQL的Sequelize中的OneToMany关联。自定义外键

来自分类Dev

如何自定义sequelize枚举错误消息?

来自分类Dev

在Parsley.js配置中设置自定义消息

来自分类Dev

自定义.find()绑定到Sequelize模型

来自分类Dev

Sequelize错误:Index.js中未定义defineCall

来自分类Dev

Sequelize-从关联表返回单个列作为自定义列

来自分类Dev

Node JS Sequelize sql 关联

来自分类Dev

使用 Sequelize JS 更新模型

来自分类Dev

sequelize(v 4.3.0) 中的关联与自定义主键

来自分类Dev

Parsley JS - 自定义错误消息 %s 格式

来自分类Dev

Laravel 5.6.7 和 Vue.js 中的自定义错误消息,特别是组件

来自分类Dev

使用 winston.js 和 node.js 自定义消息格式

来自分类Dev

如何使用 VeeValidate (Vue.Js) 上的字典为 ValidationProvider 自定义“必需”错误消息

Related 相关文章

  1. 1

    GraphQL的Sequelize中的OneToMany关联。自定义外键

  2. 2

    从已经定义的模型中获取Sequelize.js ENUM值

  3. 3

    如何在Sequelize.js中定义对象数组?

  4. 4

    如何在Sails.js中提供自定义模型验证消息?

  5. 5

    Sequelize,自定义设置器,未设置

  6. 6

    如何在Sails.js中引发自定义错误消息

  7. 7

    Sequelize JS-保护属性

  8. 8

    Named associations with sequelize.js

  9. 9

    与sequelize.js的命名关联

  10. 10

    sequelize.js中的自定义json响应

  11. 11

    通过使用parsley.js每个字段提供多个自定义错误消息支持

  12. 12

    Sequelize:如何在数据透视表中映射自定义属性

  13. 13

    Sequelize错误:Index.js中未定义defineCall

  14. 14

    自定义响应消息,可验证Node js中的所有必需参数

  15. 15

    JS,expressJS,sequelize,postgres等

  16. 16

    从自定义.js文件访问应用上下文以获取区域设置消息

  17. 17

    GraphQL的Sequelize中的OneToMany关联。自定义外键

  18. 18

    如何自定义sequelize枚举错误消息?

  19. 19

    在Parsley.js配置中设置自定义消息

  20. 20

    自定义.find()绑定到Sequelize模型

  21. 21

    Sequelize错误:Index.js中未定义defineCall

  22. 22

    Sequelize-从关联表返回单个列作为自定义列

  23. 23

    Node JS Sequelize sql 关联

  24. 24

    使用 Sequelize JS 更新模型

  25. 25

    sequelize(v 4.3.0) 中的关联与自定义主键

  26. 26

    Parsley JS - 自定义错误消息 %s 格式

  27. 27

    Laravel 5.6.7 和 Vue.js 中的自定义错误消息,特别是组件

  28. 28

    使用 winston.js 和 node.js 自定义消息格式

  29. 29

    如何使用 VeeValidate (Vue.Js) 上的字典为 ValidationProvider 自定义“必需”错误消息

热门标签

归档