我需要验证开始时间和结束时间。我似乎得到了部分工作的验证,但是当两者都没有价值时,我不需要验证,所以不要求它。
$.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
},
答案 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;