有没有办法在插入/更新sequelize之前编码数据?

时间:2017-06-14 22:49:32

标签: node.js sequelize.js

全部,有续集问题。我们要求在插入/更新之前对模型中的数据进行编码。下面是模型中的一列,其中在插入数据之前正在执行某些验证。此外,validateFields.encodeFormData是一个使用javascript的encodeURIComponent来编码传递的字符串的函数。所以我们想从那里的专家那里了解这是否是正确的数据编码方式,或者是否有更好的方法来进行编码和解码?

fyi,SQL server是我们的db。

提前感谢您的帮助。

Name: {
  type: DataTypes.STRING,
  allowNull: false,
  validate: {
      min: {
          args: 3,
          msg: 'Name must be at least 3 characters'
      },
      max: {
          args: 40,
          msg: 'Name must start with a letter, and be at less than 40 characters.'
      },
      is: {
          args: /['~!@#$^*()_|+\=?;:",<>\{\}\[\]\\\/]/gi,
          msg: 'Invalid Characters detected. Please enter valid characters.'
      }
  },

  set:function(val) {
      var encodedVal = validateFields.encodeFormData(val);
      console.log("Encoded name : ", encodedVal);
      this.setDataValue('Name', encodedVal);
  },

  get:function() {
      var decodedVal = validateFields.decodeFormData(this.getDataValue('Name'));
      return decodedVal;
  }
},

1 个答案:

答案 0 :(得分:0)

我认为您可能需要使用hooks