【问题标题】:How do you assign a size limit to a Sequelize array?如何为 Sequelize 数组分配大小限制?
【发布时间】:2018-04-11 21:28:12
【问题描述】:

我使用 sequelize 和 sequelize 迁移来制作我的 postgres 模型。目前,我无法弄清楚为我的一个字段(数组)分配大小限制的语法。可以这样做吗?

现在,我的迁移文件中的特定字段显示:

industryOfFocus: {
    type: Sequelize.ARRAY(Sequelize.STRING)
  }

我的 model.js 文件中的特定字段显示:

industryOfFocus: {
  type: DataTypes.ARRAY(DataTypes.STRING),
  allowNull: false,
  validate: { notEmpty: true }
}

是否甚至可以使用 sequelize 分配大小限制?我没有发现堆栈溢出问题或 sequelize 文档来支持 sequelize 可以设置数组大小值的想法。如果不可能,有什么办法可以确保我的数组的大小永远不会超过 3?

【问题讨论】:

    标签: node.js sequelize.js


    【解决方案1】:

    您需要使用自定义验证器方法。 (http://docs.sequelizejs.com/manual/tutorial/models-definition.html#validations)

    industryOfFocus: {
      type: DataTypes.ARRAY(DataTypes.STRING),
      allowNull: false,
      validate: {
        isSpecificLength(value) {
          if (value.length !== 3) {
            throw new Error('industryOfFocus must only have three items')
          }
        }  
      }
    }
    

    【讨论】:

    • 这确实回答了我的问题。感谢@mcranston18 的帮助
    猜你喜欢
    • 1970-01-01
    • 2023-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-13
    • 2011-10-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多