我有一个数组,其中包含带有两个日期的多个条目-start_date
和end_date
,我正在使用自定义express-validator来确保start_date
始终小于{{ 1}}。我正在尝试使用Wildcard
示例数组:
end_date
我已经尝试了上述方法,但是自定义验证器中的第二个参数没有从数组中获取确切的值。
自定义验证器方法:
[
{
"start_date":"01-01-1990",
"end_date":"01-01-1991"
},
{
"start_date":"01-01-1990",
"end_date":"01-01-1980"
}
]
我调用上述方法的方式是:
module.exports.isValidEndDate = function(value, start_date) {
if (value != null) {
const end_date = moment.utc(value,"DD-MM-YYYY",true).endOf('month');
const start_date = moment.utc(start_date,"DD-MM-YYYY",true).startOf('month');
return starting_date < end_date;
} else {
return false;
}
};
req.checkBody('array.*.end_date', "end_date is empty or invalid").notEmpty().isValidDate(['array.*.end_date']).isValidEndDate(['array.*.start_date']);
函数中start_date参数的实际结果为isValidEndDate
,而我希望它包含start_date的实际值