jquery开始时间/结束时间验证

时间:2012-05-03 18:36:26

标签: javascript jquery jquery-plugins

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

$.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

        },

1 个答案:

答案 0 :(得分: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;