{key:“”}和{key:“”}之间的区别,json文件?

时间:2019-09-19 03:18:57

标签: javascript json express middleware express-validator

我正在尝试在我的Express路由器上实现验证,问题是当我通过{title:“”}时express-validator没有抛出错误,但是当我通过{title:“”}时它起作用了。 / p>

exports.postValidatorCheck = [
  check("title", "The title must not we empty").isEmpty(),
  check("title", "The Length of the Title should be in greater then 10").isLength({
    min: 10,
    max: 1500
  }),
  function(req, res, next) {
    let errors = validationResult(req);
    console.log(errors);
    if (!errors.isEmpty()) {
      const firstError = errors.errors.map(err => err.msg)[0];
      return res.status(400).json({ error: firstError });
    }
    next();
  }
];

jSON文件:

{
"title":"",
"body":"This is a new Post"
} 

没有错误

JSON文件

{
"title":" ",
"body":"This is new post"
}

错误如预期。

2 个答案:

答案 0 :(得分:2)

验证应使用负号:

check("title", "The title must not we empty").not().isEmpty()

这将确保title不为空,这正是我认为的目的。

答案 1 :(得分:1)

首先,""是一个空字符串。 " "不是;它包含一个空格字符。如果您想将任何空格都算作空白,则应使用regex solution

对于您的实际问题,您应该在测试isEmpty()时正在测试not().isEmpty()