如何使用 express-validator 检查是否存在至少一个参数

Vah*_*hid 4 validation node.js express

我在我的 Nodejs 应用程序中使用expressexpress-validator。我想检查是否存在至少一个传入参数。它的种类之一或组合。

假设我的服务接受 2 个参数。我想确保至少其中一个是由客户提供的。

下面的代码只适用于一个。但我也不知道如何制作它。

req.checkBody('param1', 'Mandatory field param1 not populated').notEmpty();
Run Code Online (Sandbox Code Playgroud)

Leo*_*Leo 5

说要更新,有一个模型idstatus以及content......就像一个社交媒体帖子,例如。您的控制器可能支持更新status模型或其content. 因此,您可以执行以下操作:

export const updateModelValidation = [
    param('id').exists().isNumeric(), // <-- required model identifier
    oneOf( // <-- one of the following must exist
        [
          body('status').exists().isString(),
          body('content').exists().isString(),
        ],
    ),
];
Run Code Online (Sandbox Code Playgroud)


Dhw*_*ade 1

您可以使用多个验证链并使用 oneOf 函数针对至少 1 个验证链进行验证。

https://www.npmjs.com/package/express-validator#oneofvalidationchains-message