express-validator / node-validator:如何验证该属性是否存在,并且应该存在

时间:2016-10-19 15:47:27

标签: node.js express

是否有类似的验证:

req.checkBody('property', 'should be present').isPresent();

价值本身并不重要。

现在我使用这个解决方案:
.isLength()

更新
- .isLength()是一个糟糕的解决方案,因为它会测试该值是否为字符串 - 并且由于JSON.stringify方法,您无法从浏览器中将POST值作为“未定义”发送,而忽略了这些属性。 因此,针对!== undefined的验证应该足够了。

1 个答案:

答案 0 :(得分:1)

您使用express validator模块吗?

如果是的话,这件事适合你吗?

req.checkBody('postparam', 'Invalid postparam').notEmpty()

<强> 更新

根据文档不存在您想要的验证器。创建自定义的可以是解决方案:

expressValidator({
  customValidators: {
    isPresent: function(value) {
        return (typeof value !== 'undefined');
    }
  }
})