2014-12-09 4 views
1

Мне нужно проверить поля пола, которые указаны ниже.Проверка Jquery Validate form-array с индексом

<form id="test_form" > 
<input name="floor[abc]" type="text" class="input_txt_l " value="" /> 
<input name="floor[cde]" type="text" class="input_txt_l " value="" /> 
</form> 

Я пробовал с помощью jquery validator plug-in.

jQuery("#test_form").validate({ 
    rules: { 
    'floor[]':{ 
     required:true 
    }}, 
messages: { 
     'floor[]':{ 
      required:"floor is required." 
      } 
    } 
    }); 

В этом случае валидация не работает. но если пол не имеет индекса, он работает хорошо. Если у кого-то есть идея исправить эту проблему, пожалуйста, помогите мне.

+2

попробуйте изменить имя = пол [] на обоих полях ввода. Что бы вы могли захотеть, так это то же подтверждение для всего пола. –

+0

@ axel.michel Я посмотрел это. но с 'floor [index]' он не работает. – KTAnj

+0

@Anshul Nigam Он не может измениться как пол [], индекс потребности для пола – KTAnj

ответ

3

Существуют различные способы, чтобы решить вашу проблему:

Либо вы используете addClassRules:

// using the class name instead of field name 
jQuery.validator.addClassRules("input_txt_l", { 
    required: true  
}); 

Или обрабатывать каждое поле отдельно, потому что на самом деле они называются разные:

jQuery("#test_form").validate({ 
    rules: { 
     'floor[abc]':{ 
      required:true 
     }, 
     'floor[cde]':{ 
      required:true 
     }, 
    } 
}); 

Или вы переименовываете свои поля:

HTML:

<input name="floor[][abc]" type="text" class="input_txt_l " value="" /> 
<input name="floor[][cde]" type="text" class="input_txt_l " value="" /> 

JavaScript:

jQuery("#test_form").validate({ 
    rules: { 
    'floor[]':{ 
     required:true 
    }}, 
}); 

fiddle is here.

+0

Что делать, если только один является обязательным? – Bugfixer

+0

@Bugfixer Я не уверен, правильно ли я задал ваш вопрос, но в случае, если у вас есть только одно исключение, вы можете пойти на что-то наподобие floor []: {required: false} и конкретный полевый пол ['fieldname']: {required : true} –

+0

Я пробовал это и все еще не работал. Но потом я понял, что пропустил цитату для имен полей ввода, и теперь это работает. Спасибо за это – Abaij

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