试图创build条目之前创build不执行 – Sails JS

我有一个用户模型,我只是试图通过返回err beforeCreatetesting,但是当我做POST /user它创build模型罚款,而不执行beforeCreate方法。 我在这里做错了什么? 这里是models/User.js

 module.exports = { connection: "mysql", attributes: { firstname: { type: "string", required: true }, lastname: { type: "string", required: true }, fullname: function() { return this.firstname + ' ' + this.lastname; }, username: { type: "string", required: true }, password: { type: "string", required: true }, email: { type: "email", required: true }, status: { type: "integer", /* * 0 - unconfirmed, 1 - confirmed, 2- suspended */ enum: [0, 1, 2] }, // Override toJSON instance method to remove password value toJSON: function() { var obj = this.toObject(); delete obj.password; return obj; }, // Associations roles: { collection: "role", via: "users" }, permissions: { collection: "permission", via: "users" }, // Lifecycle Callbacks beforeCreate: function(values, next) { return next(err); } } }; 

beforeCreate不是一个属性,而是模型上的一个方法,所以它应该是这样的:

 attributes: { .... }, beforeCreate: { .... } 

你的beforeCreate里面有attributes 。 它必须在外面。 喜欢 –

 module.exports = { connection: "mysql", attributes: { firstname: { type: "string", required: true }, lastname: { type: "string", required: true }, fullname: function() { return this.firstname + ' ' + this.lastname; }, username: { type: "string", required: true }, password: { type: "string", required: true }, email: { type: "email", required: true }, status: { type: "integer", /* * 0 - unconfirmed, 1 - confirmed, 2- suspended */ enum: [0, 1, 2] }, // Override toJSON instance method to remove password value toJSON: function() { var obj = this.toObject(); delete obj.password; return obj; }, // Associations roles: { collection: "role", via: "users" }, permissions: { collection: "permission", via: "users" } }, beforeCreate: function(values, next){ return next(err); } };