Я хочу проверить поле, чтобы оно не могло быть больше сегодняшней даты. Я пробовал это так, но я не знаю, как вызвать эту функцию для проверки даты:

jQuery.validator.addMethod( "greaterThan", function( value, element ) { 

    var now=new Date(); 

    if ( !/Invalid|NaN/.test(new Date(value)) ) { 

        return new Date(value) > now; 

    } 

    return isNaN(value) || (parseFloat(value) > now); 

}, 
'should not be greater than {0}.' );
0
Sravanthi 17 Дек 2011 в 01:45
Каковы наши ограничения на решение?
 – 
DefyGravity
17 Дек 2011 в 01:50
В каком формате указана дата? Отметка времени Unix? массив дня, месяца, года? ...??
 – 
Prpl_Ppl_Etr
17 Дек 2011 в 02:01
Я новичок в jquery. Я пробовал это так, но я не знаю, как вызвать эту функцию для проверки даты: jQuery.validator.addMethod("greaterThan", function(value, element) { var now=new Date(); if (!/Invalid|NaN/.test(new Date(value))) { return new Date(value) > now; } return isNaN(value) || (parseFloat(value) > now); },'не следует быть больше {0}.');
 – 
Sravanthi
17 Дек 2011 в 02:16
Вы должны иметь возможность добавить класс greaterThan к вводу формы для проверки с помощью этого правила.
 – 
Michael Mior
2 Янв 2012 в 18:43

1 ответ

Вы можете создать простое правило, выполнив что-то вроде этого:

jQuery.validator.addMethod("greaterThanToday", function(value, element) {
    var now=new Date(); 
    if ( !/Invalid|NaN/.test(new Date(value)) ) { 
        return new Date(value) > now; 
    } 
    return isNaN(value) || (parseFloat(value) > now); 
}, "* The date should not be greater than today.");

А затем примените это так:

$('#your_form').validate({
    rules : {
        your_date_field_name : { greaterThanToday : true }
    }
});
0
Glauco Vinicius 2 Янв 2012 в 17:58