Как я могу проверить дату рождения с помощью Express-Validato? - PullRequest
0 голосов
/ 26 июня 2018

Я создаю веб-приложение, в котором я не могу добавить несколько пользователей в это приложение, но мне нужны все мои пользователи с определенным возрастом, для этого восстановления я пытаюсь проверить dbo с помощью экспресс-валидатора, но экспресс-валидатор позволяет мне проверять только строки,Как я могу проверить dbo с помощью экспресс-валидатора?

let tdate = new Date(); req.checkBody('datadenasc',"Error: Invalid Date of Birth!").isBefore(tdate.getFullYear()-18).isAfter(tdate.getFullYear()-65);

HTML:

| Dbo:
      input#datadenasc.input(type='date', name='datadenasc', required='')

1 Ответ

0 голосов
/ 26 июня 2018

То, что я сделал, было

    `let d = new Date();
     let year = d.getFullYear();
     let month = d.getMonth();
     let day = d.getDate();
     let cA = new Date(year - 18, month, day).toDateString();
     let cB = new Date(year - 65, month, day).toDateString();`

req.checkBody('datadenasc','Error: Invalid Date of Birth!').isBefore(cA).isAfter(cB);

В первой строке я получил сегодняшнюю дату.Затем на второй, третьей и четвертой строчках я получаю из сегодняшней даты год, месяц и день.В последней строке я создаю две даты, одна для минимального возраста (cA), а другая - для максимального возраста (cB).

В заключение я сравниваю дату, которую я получаю от ввода, с датами cA и cB.

(Примечание: Express Validator проверяет только строки, поэтому мне пришлось преобразовывать (cB) и (cA) в строки, используя метод toDateString ()).

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