我想使用Express Validator验证所有路由命名参数。我试图在中间件中执行此操作,但是它不起作用。我该如何实现?我的代码的贝娄简化版。
mockController.Setup(
x => x.SendCachingHeaders(It.IsAny<int>())).
Callback(() =>
{
int i; //just to do something irrelevant
});
答案 0 :(得分:0)
module.exports = (req, res, next) => {
const routeParameters = Object.keys(req.params);
const invalidParams = [];
for (const parameter of routeParameters) {
if (!param(parameter).isInt()) {
invalidParams.push(param);
}
}
if (invalidParams.length) {
return res
.status(400)
.json({
message: `The following parameters are invalid: [ ${invalidParams.join(", ")} ]`
});
}
next();
};