Express验证器-验证所有路由命名参数

时间:2019-03-12 14:38:10

标签: node.js express express-validator

我想使用Express Validator验证所有路由命名参数。我试图在中间件中执行此操作,但是它不起作用。我该如何实现?我的代码的贝娄简化版。

mockController.Setup(
                x => x.SendCachingHeaders(It.IsAny<int>())).
                Callback(() =>
                {
                    int i; //just to do something irrelevant
                });

1 个答案:

答案 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();
};