试图创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); } };