我有以下jQuery定制验证方法:
$('#save-event-challenge').off('click').on('click', function (e) {
let $btn = $(e.target);
jQuery.validator.addMethod('minTime', function () {
console.log('kjbkhb');
let startTimeStamp = new Date($('#challenge_start_date').val() + ' ' + $('#challenge_start_time').val());
let endTimeStamp = new Date ( $('#challenge_end_date').val() + ' ' + $('#challenge_end_time').val());
console.log(startTimeStamp.getTime() < endTimeStamp.getTime());
console.log(startTimeStamp);
console.log(endTimeStamp);
return startTimeStamp.getTime() < endTimeStamp.getTime();
}, 'End Time Should be Greater Than or Equal to Start Time');
$formChallenge.validate({
rules: {
challenge_end_date : {
minTime: true,
},
challenge_end_time : {
minTime: true,
},
}
});
除非我让日期输入为空,否则不会输入addmethod(‘kjbkhb’,不会出现在控制台中).因此,我必须首先在日期输入为空的情况下提交,验证错误会出现,如果我完成了它们,但我让结束时间小于开始时间,错误就会出现.但如果我首先完成所有内容并提交,而时间不正确,则不会进行验证.