#jquery #plugins #validation
#jquery #Плагины #проверка
Вопрос:
Я пытался адаптировать подключаемый модуль Validator к своим потребностям (http://docs.jquery.com/Plugins/Validation )
Подключаемый модуль отображает сообщение, когда что-то неверно. Однако содержимое этого сообщения находится внутри самого js-файла (я могу изменить его с помощью свойства «message:»). Поскольку я создаю сайт на нескольких языках, для этого мне понадобилось бы иметь несколько файлов .js, в которых я бы изменил только текст. Я не хочу этого делать, поскольку это является кандидатом на проблемы с ремонтопригодностью.
Я хочу, чтобы каждое правило принимало класс или идентификатор в качестве аргумента, а ошибка отображалась в этом конкретном элементе, который был бы скрыт с помощью CSS (обратите внимание, что я упростил код только для примера)
<label>Bla:</label>
<input type="text" id="username"/>
<span class="hiddenError" id="requireUser" style="display:none">Write yo name</span>
<span class="hiddenError" id="lengthUser" style="display:none">Write at least 5 characters long</span>
Итак, вместо жесткого кодирования сообщений в js (или HTML, я не хочу помещать инициализацию в HTML, пожалуйста …) Я хочу, чтобы эти .hiddenError отображались в зависимости от ошибки. Я не уверен, но я думаю, что это как-то связано с
errorElement: "label",
errorContainer: $( [] ),
errorLabelContainer: $( [] ),
но я не смог заставить их работать.
Есть ли способ сделать это? Я пытался модифицировать сам плагин, но работать с более чем тысячей строк кода было так же сложно, как самому написать плагин со всеми этими характеристиками.
Заранее большое спасибо за ваши ответы
Ответ №1:
На мой взгляд, это был бы плохой способ сделать i18n, загрязняя ваш HTML множеством скрытых элементов.
Вам лучше создать объектный литерал, который сопоставляет название сообщений с кодом языка.