Sails.js 在Sails模型中何时调用beforeUpdate方法?
我乘帆船去 我在用户模型中创建Sails.js 在Sails模型中何时调用beforeUpdate方法?,sails.js,waterline,Sails.js,Waterline,我乘帆船去 我在用户模型中创建 module.exports = { attributes: { login: { type: 'string', }, password: { type: 'string', }, birthDate: { type: 'date', } }, beforeCre
module.exports = {
attributes: {
login: {
type: 'string',
},
password: {
type: 'string',
},
birthDate: {
type: 'date',
}
},
beforeCreate: function(values, next) {
//someCode();
},
beforeUpdate: function(values, next) {
console.log("i\'m here!");
if (values.birthDate && _.isNaN(Date.parse(values.birthDate))) {
console.log(values.birdDate);
return next({err: ["Wrong date!"]});
}
values.birthDate = Date.parse(values.birthDate);
next();
}
};
我想更改beforeUpdate方法中日期值的字符串值,但未调用此方法。
可能我必须手动调用它?您的beforeUpdate方法不会执行,因为您有验证错误
生日应该是date,但sails获取字符串并停止更新过程
所以,您应该在验证模型记录之前将其转换为日期,并在更新之前尝试这样做
只需将beforeUpdate方法重命名为beforeValidate。这可能会有所帮助
您可以找到sails执行模型生命周期方法的顺序。告诉我们如何更新控制器中的记录,plscode更新:functionreq,res,next{User.updatereq.param'id',req.params.all,function userUpdatederr{if err{req.session.flash={err err:err};res.redirect'/user/edit/'+req.param'id';}else res.redirect'/user/show/'+req.param'id';};};}尝试将user.update更改为user.updatebydstory。不了解如何使用Markdown没有问题。欢迎来到社区。您不能在注释中打断行。在这种情况下,最好更新你的帖子