два вопроса ...
1) Если имя поля содержит квадратные скобки, точки или другие специальные символы, то вы должны заключить имя в кавычки.
"produto[]": {
required: true
}
2) Однако, если input
не содержит это точное имя, name="produto[]"
, то он не будет работать, как вы не можете объявить массив в rules
опции .validate()
. Опция rules
принимает только список имен отдельных полей.
Два возможных решения ...
1) Вы можете использовать метод .rules()
следующим образом. Использование селектора jQuery «начинается с» для выбора всего массива и jQuery .each()
для применения метода .rules('add')
для каждого поля в этой группе.
$('[name^="produto"]').each(function() { // select elements using "starts with" selector
$(this).rules('add', {
required: true,
// other rules
});
});
2) Тем не менее, если только правило required
, то вам не нужно будет объявить его с помощью любого JavaScript на всех. Вместо этого вы можете использовать только атрибут HTML5 required
, и плагин jQuery Validate все равно подберет его.
<input type="text" name="produto[0]" required="required" />
<input type="text" name="produto[1]" required="required" />
<input type="text" name="produto[2]" required="required" />
<input type="text" name="produto[3]" required="required" />
<input type="text" name="produto[4]" required="required" />
Возможно, вы хотите использовать 'produto' без' [] ' – yoelp
не intendi! как и –