express -validator необязательные поля - PullRequest
0 голосов
/ 22 января 2020

Я получил эту форму с дополнительным электронным письмом, и я использую express -validator для проверки на стороне сервера.

Когда я отправляю сообщение, он проверяет и обрабатывает данные, чтобы сохранить их.

маршруты / пользователи. js

router.post('/save', users.validationRules(), users.save)

controllers / usersController. js

usersController.validationRules = () => {
  return [
    // ...
    // Some other validation rules that works
    // ...
    check('email', 'You need a valid Email')
        .optional()
        .isEmail(),
    // ... More validation rules that also works ...
  ]
}

usersController.save = (req, res) => {

    let errors = validationResult(req)

    console.log(errors);
}

Появляется сообщение об ошибке, как если бы оно игнорировало optional() метод. Ребята, вы понимаете, что происходит или что я делаю не так?

1 Ответ

0 голосов
/ 22 января 2020

Вы можете попробовать использовать .optional({ checkFalsy: true }) для проверки ложных значений (например, "", 0, false, null).

Подробнее об этом из документов

...