Плагин валидации jQuery ErrorPlacement внутри двух разных элементов - PullRequest
2 голосов
/ 02 июня 2010

Я пытаюсь разместить отдельные сообщения об ошибках в отдельных элементах при проверке большой формы. Форма разделена на вкладки jQueryUI, а затем на аккордеоны.

Когда есть ошибка в элементе вкладки, я хочу добавить красный восклицательный знак к имени вкладки, и если ошибка находится в элементе аккордеона, я также хочу добавить красный восклицательный знак к название аккордеонного элемента.

Впоследствии, когда ошибки будут исправлены, мне бы хотелось, чтобы эти красные! подлежит удалению (точно так же, как удаляется сообщение об ошибке под недопустимым полем.

Итак:

Tab1 Таб2 Accordion1 Accordion2 TAB3

Если элементы в аккордеоне 2 имеют ошибку, я хочу добавить красный! на аккордеон2 и таб2:

Tab1 Таб2! Accordion1 Accordion2! TAB3

Затем удалите, когда элементы успешно подтвердят. Я пытался вечно, но я не могу понять, как условно изменить errorElement (метка не будет работать для табуляции и аккордеона, но идеально подходит для фактического элемента) ...

Надеюсь, это имеет смысл, и спасибо за любой вклад, который вы можете предоставить.

1 Ответ

1 голос
/ 02 июня 2010

Вы должны попробовать использовать опцию errorcontainer

$("#myform").validate({
   errorContainer: "#Accordion2"
})

Отредактированный

$("#myform").validate({
   showErrors: function(errorMap, errorList) {
       //error define where the errors in the ErrorList Go
       //you could also try
       this.errorContainer = "element1id, element2id"
   }
})

Edited2

Примечание: я не тестирую этот код. просто предоставляя вам идеи.

$("#myform").validate({
   errorPlacement: function(error, element) {
        error.appendTo( element.closest('.tab'));

   }
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...