Expressvalidation器 – 如何允许可选字段

我正在使用express-validator版本2.3.0。 看来,领域始终是必需的

req.check('notexist', 'This failed').isInt(); 

将永远失败 – 破碎或我错过了什么? 有一个notEmpty方法的必填字段似乎表明默认是可选的,但我无法获得上述通过。

这是预期的行为,是的。 validation的假设是你想要对已知密钥的值进行操作。 为了得到你想要的,你可以做这样的事情:

 if(req.param('mykey')) req.check('mykey', 'This failed').isInt(); 

你可以使用optional方法:

 req.check('notexist', 'This works').optional().isInt();