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

我正在尝试在我的快速路由器上实现验证,问题是当我通过 {title:""} 时,express-validator 没有抛出错误,但是当我通过 {title:" "} 时它可以工作。


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"

}

错误如预期。


慕哥9229398
浏览 170回答 2
2回答

慕村225694

验证应使用否定:check("title", "The title must not we empty").not().isEmpty()这将确保title不是空的,这就是我认为你的意图。

慕容森

首先,""是一个空字符串。" "不是; 它包含一个空格字符。如果您想将任何空格计为空,您应该使用正则表达式解决方案。至于您的实际问题,您正在测试isEmpty()何时应该测试not().isEmpty().
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript