我在我的Nodejs应用中使用 express 和 express-validator 。我想检查是否存在至少一个传入参数。它的任何一种或组合。
假设我的服务接受2个参数。我想确保客户提供至少其中一个。
以下代码仅适用于一个。但我不知道如何制作它或者。
req.checkBody('param1', 'Mandatory field param1 not populated').notEmpty();
答案 0 :(得分:0)
您可以使用多个验证链并使用oneOf函数来验证至少1个验证链。
https://www.npmjs.com/package/express-validator#oneofvalidationchains-message
答案 1 :(得分:0)
假设您要更新一个模型,该模型具有id
,status
和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(),
],
),
];