0

我需要验证开始时间和结束时间。我似乎得到了部分验证,但是当两者都没有价值时,我不需要验证,所以不需要它。

$.validator.addMethod("endTimeRange", function() {
        var n=new Date();
        var st = Date.parse( n.getMonth()+1+'/'+n.getDate()+'/'+n.getFullYear() + ' ' + $("#startTime").val());
        var nd = Date.parse( n.getMonth()+1+'/'+n.getDate()+'/'+n.getFullYear() + ' ' + $("#endTime").val());
        return  nd > st;
    }, "Please specify a correct end time, the end time must be before the second.");

    $.validator.addMethod("startTimeRange", function() {
        var n=new Date();
        var st = Date.parse( n.getMonth()+1+'/'+n.getDate()+'/'+n.getFullYear() + ' ' + $("#startTime").val());
        var nd = Date.parse( n.getMonth()+1+'/'+n.getDate()+'/'+n.getFullYear() + ' ' + $("#endTime").val());
        return  st < nd;
    }, "Please specify a correct start time, the start time must be after the end time.");


startTime: {
             required: function(element) {
             return $("#endTime").val().length > 0;

            },
            startTimeRange:true
        },

        endTime: {
             required: function(element) {
             return $("#startTime").val().length > 0;
            },
            endTimeRange:true

        },
4

1 回答 1

0

首先,您的两种验证方法做同样的事情。如果一个或两个字段为空,要实现成功验证,只需将它们添加到您的退货中:

// default is true
var isValid = true;

// if either value is empty, dont validate
if ($("#endTime").val() !== '' && $("#startTime").val() !== '') {
    // start time must be before end time
    isValid = startTime <= endTime;
}

return isValid;
于 2012-05-03T18:56:05.083 回答