разница между {key: ""} и {key: ""} файлом json? - PullRequest
0 голосов
/ 19 сентября 2019

Я пытаюсь реализовать проверку на моем экспресс-маршрутизаторе. Проблема в том, что когда я передаю {title: ""}, экспресс-валидатор не выдавал ошибку, но когда я передаю {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"
}

Ошибка, как и ожидалось.

Ответы [ 2 ]

2 голосов
/ 19 сентября 2019

При проверке следует использовать минус:

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

Это позволит убедиться, что title не пусто, как я и думал.

1 голос
/ 19 сентября 2019

Во-первых, "" - пустая строка." " нет;он содержит символ пробела.Если вы хотите считать любой пробел пустым, вы должны использовать решение регулярных выражений .

Что касается вашей фактической проблемы, вы проверяете на isEmpty(), когда вам нужно тестировать наnot().isEmpty().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...