Sequelize,用空白值验证字段的长度

Shr*_*ane 3 javascript node.js express sequelize.js

我正在使用Sequelize作为带有 express 的 ORM。

Sequelize Model 中,它们的 is 字段接受空值。len如果提供了任何值,我想通过定义输入的长度来验证此字段。

代码:

field: {
  type: DataTypes.TEXT,
  allowNull: true,
  validate: {
    len: {
      args: [50, 200],
      msg: 'Please provide field within 50 to 200 characters.'
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

但是,当字段为空时,Sequelize 会抛出错误。那么,我如何允许空值,并且仅在提供值时才进行验证。

kax*_*993 5

你试过这个notEmpty: false吗?

field: {
  type: DataTypes.TEXT,
  allowNull: true,
  validate: {
    notEmpty: false,
    len: {
      args: [50, 200],
      msg: 'Please provide field within 50 to 200 characters.'
    }
  }
}
Run Code Online (Sandbox Code Playgroud)