Chcę zapisać hashowane hasło. Używam narzędzia SetterMethod:Jak mogę uruchomić sprawdzanie poprawności modelu przed setterMethod w Sequelize?
module.exports = (sequelize, DataTypes) ->
sequelize.define 'User',
# other model fields [...]
password:
type: DataTypes.STRING
validate: notEmpty: msg: 'You need to set a password.'
set: (pw) ->
salt = bcrypt.genSaltSync(10)
hash = bcrypt.hashSync(pw, salt)
@setDataValue('password', hash)
Seter działa jako pierwszy. Puste hasło ciągu znaków (''
) jest mieszane w niepusty (powiedzmy $2a$10$pDDIGnV.r47i9YOv0Fls/euQ0yYvfyq8T1SyP9VRQsTUAqptNmxXO
).
Po sprawdzeniu poprawności hasło nie jest już puste.
Jak mogę sprawdzić hasło przed ustawiaczem?
Zajrzałem do hooks, ale nie wspominają też o seterach.
Używam [email protected]
.