Проверить всю форму, кроме полей в определенном div, с помощью семантического валидатора

Я использую семантическую проверку формы в проекте, но у меня возникла проблема.

Есть большая форма с четырьмя динамическими полями и множеством правил, клонированных из скрытого div-шаблона.

Пример:

<form class="big_form">
<div id="template">
    name: <input type="text" class="validate">
</div>
<button>More</button>
</form>

Теперь, когда вы нажимаете «Дополнительно», появляется новое поле «Имя». Моя проблема заключается в том, что когда я пытаюсь проверить эти поля, валидатор видит поля шаблона как пустые (потому что они действительно пусты) и не обрабатывает сообщение.

Есть ли способ обойти «шаблон» div и проверить только те div, которые указаны ниже? Код валидатора такой:

$('.big_form')
.form({
name: {
  identifier: 'name',
  rules: [
    {
      type: 'length[14]',
      prompt: 'Please fill something'
  }
]
},
etc.

Спасибо большое. С уважением, Аль


person Alrogatto    schedule 08.02.2015    source источник


Ответы (1)


Цитируется с домашней страницы проверки семантической формы:

Объект проверки включает в себя список элементов формы и правила проверки каждого из них. Поля сопоставляются либо тегом id, тегом имени, либо метаданными проверки данных, соответствующими идентификатору, указанному в объекте настроек.

Так что да, вы должны иметь возможность проверять поля, которые вы хотели проверить, если вы явно включаете их. Я не понимаю, почему безымянное поле ввода внутри div#template вызывает проблему с точки зрения проверки.

person Rico Chen    schedule 08.02.2015
comment
Дело в том, что когда я создаю новое поле, ему присваивается новый идентификатор и имя (field_1, field_2 и т.д.). И все классы ДОЛЖНЫ быть одинаковыми. Поэтому я думаю, что лучшим решением будет запретить проверку в шаблоне div#. Но я думаю, что делаю это неправильно, так как у меня нет правильных результатов. BTW, спасибо за ваш ответ! - person Alrogatto; 08.02.2015
comment
В этом случае просто убедитесь, что селектор проверки не охватывает вновь созданные элементы. Добавьте разные имена классов к элементам, которые вы хотите проверять, и к тем, которые вы не хотите проверять. - person Rico Chen; 08.02.2015