Developer Tales or everything about everything

9Сен/140

Списки Selectize.JS и jQuery Validation

Selectize.JS - очень полезная вещь, когда хочется организовать красивые ниспадающие списки с возможностями автозаполнения, поиска и удаленной загрузки данных. jQuery.Validation - как очевидно из названия, плагин jQuery для проверки форм.

Проблема этих двух библиотек заключается в том, что одна по умолчанию игнорирует скрытые поля при проверке, а другая - намеренно эти поля скрывает. Эдакое противостояние двух сил :)

Чтобы подружить библиотеки, достаточно добавить три строчки кода:

Этот код необходимо разместить непосредственно после загрузки библиотеки jQuery Validation.

Селектор ignore сохраняет настройки по умолчанию с тем исключением, что в список для проверки включаются поля, генерируемые библиотекой Selectize.

Более подробно о селекторе:

  • :hidden:not([class~=selectized]) - игнорируем все скрытые поля, кроме полей с классом .selectized;
  • :hidden > .selectized - восстанавливаем поведение стандартного селектора - поля проверяются только если родительские DOM-элементы не являются скрытыми;
  • .selectize-control .selectize-input input - дополнительный селектор для исключения проверок динамически создаваемых полей библиотекой Selectize.

Просмотров: 1505