Javascript 如何执行条件检查快速验证程序5.3.0?

Javascript 如何执行条件检查快速验证程序5.3.0?,javascript,node.js,express,express-validator,Javascript,Node.js,Express,Express Validator,更改API后,如何在express验证器中实现这种类型的逻辑 在if循环中调用req.checkBody或所需的验证函数实现了如上所示的技巧,但在API发生更改后,如何实现这一点 我尝试将paymentTYpe作为一个自定义验证器进行检查,实现检查并将消息抛出到自定义验证器中,但密钥发生了变化 使用当前的APi进行此操作的正确方法是什么,因为这对于希望从3.0.0更新到最新的express validator APi的所有人都很有用。express validatorv5.x.x中尚未提供条件验

更改API后,如何在express验证器中实现这种类型的逻辑

在if循环中调用req.checkBody或所需的验证函数实现了如上所示的技巧,但在API发生更改后,如何实现这一点 我尝试将paymentTYpe作为一个自定义验证器进行检查,实现检查并将消息抛出到自定义验证器中,但密钥发生了变化


使用当前的APi进行此操作的正确方法是什么,因为这对于希望从3.0.0更新到最新的express validator APi的所有人都很有用。express validator
v5.x.x
中尚未提供条件验证支持,但它很快就会出现。
以下是拉取请求,以防您对API给出反馈:

但是,请注意,传统API(使用
req.checkBody()
req.getValidationResult()
等的API)尚未从express validator中删除

您可以在
v5.x.x
中继续使用它,就像在
v3.x.x
中一样。只是不建议这样做,因为它已被弃用,可能会在v6到期时(尚未!)删除

所有文档都与较新的API文档并排


免责声明:我是一名快速验证器维护者。

我很高兴直接从回购维护者那里得到反馈,事实上我自己也看到了拉取请求,但我想确定一下,因为现在我的情况是,我必须更新验证器,目前我使用了一个自定义验证器和一些嵌套的if-else来记录创建早期的条件验证器,但我想知道是否有任何合适或优雅的方法来完成它还有多远release@codefreaK没有固定的截止日期。我每周有2个小时来做我的OSS项目。时间不多。
export function valUPM() {
  return (req: Request, _res: Response, next: NextFunction) => {
    req
      .checkBody(
        "paymentType",
        `paymentType: ${messages.getFromSession(req, "mustNotBeEmpty")}`
      )
      .notEmpty();
    if (req.body.paymentType === "USP") {
      req
        .checkBody(
          "storeId",
          `storeId: ${messages.getFromSession(req, "mustNotBeEmpty")}`
        )
        .notEmpty();
    } else if (req.body.paymentType === "CC") {
      if (req.body.register) {
        req
          .checkBody(
            "register",
            `register: ${messages.getFromSession(req, "mustBeBoolean")}`
          )
          .isBoolean();
      } else {
        req
          .checkBody(
            "register",
            `register: ${messages.getFromSession(req, "mustNotBeEmpty")}`
          )
          .notEmpty();
      }
    }
    req.getValidationResult().then(errs => {
      if (errs.isEmpty()) {
        return next();
      }
      const error = new BFFError(
        400,
        "BadRequest",
        1,
        errs.array().map(error => {
          return { [error.param]: error.msg };
        })
      );
      return next(Error(JSON.stringify(error)));
    });
  };
}