我如何使用 Express-Validator 验证出生日期?
How can i validate Date of Birth using Express-Validato?
我正在创建一个 Web 应用程序,我无法在此应用程序中添加多个用户,但我需要所有具有一定年龄的用户,为此限制我正在尝试使用快速验证器验证 dbo,但快速验证器只让我验证字符串。
我如何使用 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='')
我做的是
`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) 都转换为字符串。
我正在创建一个 Web 应用程序,我无法在此应用程序中添加多个用户,但我需要所有具有一定年龄的用户,为此限制我正在尝试使用快速验证器验证 dbo,但快速验证器只让我验证字符串。 我如何使用 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='')
我做的是
`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) 都转换为字符串。