使用通配符时如何在自定义express-validator中传递多个变量?

时间:2019-05-24 09:40:35

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

我有一个数组,其中包含带有两个日期的多个条目-start_dateend_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的实际值

0 个答案:

没有答案