開始時刻と終了時刻を検証する必要があります。検証が部分的に機能するように見えますが、両方の値がない場合は検証する必要がないため、必須ではありません。
$.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
},