gpt4 book ai didi

node.js - Sails js beforeCreate next() 回调

转载 作者:太空宇宙 更新时间:2023-11-04 00:33:58 32 4
gpt4 key购买 nike

我正在为我的 Web 应用程序使用 sails js。我必须更改 beforeCreate 的默认行为。先看代码:

beforeCreate: function(values, next) {

//ParamsCheck is my service and 'check' is method which will validate the
//parameters and if any invalid parameter then error will be thrown, otherwise
//no error will be thrown

ParamsCheck.check(values)
.then(() => {
// All Params are valid and no error
next();
})
.catch((err) => {
//Some errors in params, and error is thrown
next(err);
});
}

所以,问题是如果有任何错误,那么下一个方法会自动重定向到 serverError ,错误代码为 500,而我想用我的自定义响应重定向它(例如: badRequest ,错误代码 400)。如何实现这一目标?

最佳答案

您正在 beforeCreate 中执行某种验证。然而,这不是验证的正确位置。

更好的方法是使用此处描述的自定义验证规则 http://sailsjs.org/documentation/concepts/models-and-orm/validations#?custom-validation-rules或创建一个策略来处理验证。

我喜欢使用策略:

module.exports = function(req, res, next) {
var values = req.body;
ParamsCheck.check(values).then(() => {
return next();
}).catch((err) => {
return res.send(422); // entity could not be processed
});
};

关于node.js - Sails js beforeCreate next() 回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39911458/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com