Express Validator - 如何打破验证链?

问题描述 投票:1回答:1

我有一个日期字段,我想确保它是一个有效的格式,如果是这样,用户超过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()之后断开链接,以便如果日期无效,自定义验证器将无法运行?我在docs找不到任何东西

express momentjs express-validator
1个回答
1
投票

你可以使用qs qazxsw poi和qazxsw poi解析使用strict mode(或String + Formatmoment.ISO_8601

您的代码可能如下所示:

moment.HTML5_FMT.DATE
© www.soinside.com 2019 - 2024. All rights reserved.