2013-06-27 6 views
0

У меня есть несколько элементов управления датами на экране, которые динамически называются.Проверка правильности правильного JQuery для нескольких элементов управления

У меня есть следующий JSfiddle. Я хотел бы знать, если это возможно, чтобы создать одно правило для всех полей даты в форме

http://jsfiddle.net/bboymarko/6tyAd/1/

HTML

Дата проверки

<br /> 
<label for="date">Enter Date</label> 
<input id="date" name="date" type="text" /> 

<br /> 
<input name="submit" type="submit" value="Submit" /> 

Javascript $ (document) .ready (функция() {

$.validator.addMethod("kdate", function (value, element) { 
    return this.optional(element) || /^(([0-9])|([0-2][0-9])|([3][0-1]))\/(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\/\d{4}$/.test(value); 
}, "Please enter a valid date."); 

$("form").validate({ 
    rules: { 
     date: { 
      required: true, 
      kdate: true 
     } 
    }, 
    submitHandler: function (form) { // for demo 
     alert('valid form'); // for demo 
     return false; // for demo 
    } 
}); 

});

+0

Вы имеете в виду, что у вас есть несколько полей ввода даты в форме с именем date1, date2, date3. Хотите включить в правило свойство –

+0

Я хочу включить все поля, такие как date1 и т. Д. Я не уверен, что вы можете проверить на что-то вроде класса –

+0

, вы можете сделать это по id –

ответ

0

Если вы используете jQuery, вы можете использовать jQuery Date Picker, который позволит вам назначить его нескольким полям и ограничить/отменить форматирование их дат. поэтому никаких беспорядочных регулярных выражений для использования, и это может быть более аккуратным.

+0

Спасибо за ваш ответ, я использую его и он предоставит правильное значение, но в IE он не принимает правильное значение формата и считает его недействительным. Regex в порядке. –

0

Да, это возможно, если у вас есть класс на месте, как

<input id="date" name="date" type="text" class="dateValidate"/> 

и использовать этот селектор класса для проверки даты

$('.dateValidate'). whatever method you want to initialize. 

или

Создание динамических идентификаторов, как вы динамически имя их

как дата1, дата2, дата3 и использовать цикл

for(i=1;i<=size;i++){ 

$('#date'+i).your method 

} 
Смежные вопросы