【问题标题】:How can i validate Date of Birth using Express-Validato?如何使用 Express-Validator 验证出生日期?
【发布时间】:2018-06-25 21:13:28
【问题描述】:

我正在创建一个 Web 应用程序,我无法在该应用程序中添加多个用户,但我需要所有具有一定年龄的用户,为此我正在尝试使用 express 验证器验证 dbo,但 express 验证器只让我验证字符串. 如何使用 express-validator 验证 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='')

【问题讨论】:

    标签: javascript html node.js express express-validator


    【解决方案1】:

    我做的是

        `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 仅验证字符串,因此我必须使用 toDateString() 方法将 (cB) 和 (cA) 都转换为字符串)。

    【讨论】:

      猜你喜欢
      • 2023-01-12
      • 2018-12-31
      • 2017-02-03
      • 1970-01-01
      • 2012-09-14
      • 2018-07-23
      • 1970-01-01
      • 1970-01-01
      • 2014-08-05
      相关资源
      最近更新 更多