gpt4 book ai didi

javascript - 使用 len 和 setter 续写密码验证失败

转载 作者:行者123 更新时间:2023-12-03 22:16:24 25 4
gpt4 key购买 nike

我设置了 password 字段,如下所示:

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

这有效。但是,当我添加 set 处理程序以将密码转换为 md5 哈希时,验证总是失败(它以我在上面设置的消息结束):
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 不喜欢彼此,但我不明白为什么。

如何解决这个问题?

最佳答案

我也遇到了同样的问题,我最终在 setter 函数中创建了一个验证:

set(value) {
if (value.length >= 8 && value.length <= 20) {
this.setDataValue('password', bcrypt.hashSync(value, 10));
} else {
throw new Error('Your password should be between 8-20 characters!');
}
}
这对我的目的有效。

关于javascript - 使用 len 和 setter 续写密码验证失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45044386/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com