创build新用户时,不会调用beforeCreate方法

我正在使用sailsjs version 0.11.0 。 我想在创build新用户时,必须对其密码进行encryption,然后才能将其存储到数据库中。 为此,我正在使用bcrypt库。 我在User.js模型中添加了一个方法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(); }); } 

问题是,当我创build一个新的用户beforeCreate方法从来没有被调用,而它应该被调用create操作。

我在哪里犯错,我该如何解决?

我看到的人最常见的错误是他们把属性对象的callback(在这种情况下beforeCreate)。

我会检查,以确保它在您的user.js文件中的模块exports对象

你需要检查的第二件事是如果你有一个validation错误。 如果你有一个validation错误,那么它也不会运行。 我只能假设情况并非如此,因为如果用户没有被创build,你的问题可能会有所不同。