2
我正在使用sailsjs version 0.11.0
。我希望在创建新用户时,必须对其密码进行加密,然后才能将其存储到数据库中。为此,我正在使用bcrypt
库。我在User.js
模型添加了一个方法beforeCreate
像下面beforeCreate方法在创建新用户时未被调用
beforeCreate: function (values, next) {
if (!values.password || values.password != values.confimation) {
return next({ err: ["Password doesnt match password confirmation."] });
}
console.log(values);
require('bcrypt').hash(values.password, 10, function passwordEncrypted (err, encryptedPassword) {
if (err) return next(err);
values.encryptedPassword = encryptedPassword;
// values.online = true;
next();
});
}
问题是,当我创建一个新用户beforeCreate
方法不会被调用,而应该在create
动作被调用。
我在哪里犯错,我该如何解决?
是的。我有属性对象上的beforeCreate。它应该存在于它之外,就像在module.exports中的属性对象的兄弟一样 – 2016-05-06 11:02:29