У меня есть поле даты, которое я хочу убедиться в правильном формате, и если это так, пользователь старше 18 лет. Формат YYYY-MM-DD
.
Вот один из моих валидаторов, который не работает:
body('birthday', 'Date format should be: YYYY-MM-DD')
.isRFC3339()
.custom(date => {
const over18 = moment().diff(date, 'years') >= 18;
if(!over18) {
return Promise.reject('You must be 18 or over!');
}
}),
В настоящее время, что происходит, если дата не является датой RFC3339, цепочка проверки продолжается. Это проблематично, потому что moment
выдает ошибку, если я передаю плохо отформатированную дату.
Как разорвать цепочку после вызова .isRFC3339()
, чтобы, если дата недействительна, пользовательский валидатор не запускался? Я не смог найти ничего в документах