使用len和setter将Sequelize密码validation失败

我设置了如下的password字段:

 password: { type: Sequelize.STRING, validate: { len: { args: [7, 42], msg: "The password length should be between 7 and 42 characters." } } } 

这工作。 但是,当我添加set处理程序时,要将密码转换为md5哈希,validation将始终失败(以上面设置的消息结束):

 password: { type: Sequelize.STRING, validate: { len: { args: [7, 42], msg: "The password length should be between 7 and 42 characters." } }, set (pass, key) { // `key` is "password" here this.setDataValue(key, md5(pass)); } } 

在我看来,像lenset不喜欢彼此,但我不明白为什么。

如何解决这个问题?