Проверка jquery - попытка проверить радио и флажки и использовать ErrorPlacemant для отображения ошибок ниже каждой группы - PullRequest
1 голос
/ 28 сентября 2011

Новичок здесь Я пытаюсь получить кнопки «Радио» и кнопки-флажки для проверки.

Сообщение об ошибке должно отображаться под последними группами радио / флажок

Для кнопок радио требуется выбратькнопки проверки Требуется один выбранный минимум

--- На носителе, поскольку у всех есть уникальный идентификатор, я рассматривал его как группу, но терял в addMethod для проверки группы.

---Также при errorPlacement, что мне делать, если у меня нет идентификатора элемента?

http://jsbin.com/aqekah/14

В основном все в порядке, но теперь я получаю неправильное количество InValids в своем предупреждении

1 Ответ

2 голосов
/ 29 сентября 2011

У нас это возникло на днях, вот как я решил это:

var validator = $('form#yourID').validate({
        errorPlacement: function (error, element) {
            if (element.is(":radio")) {
                element.closest('.rbl').after(error);
                element.closest('.rbl').addClass('error');
            }
            else if (element.is(":checkbox")) {
                element.closest('.cbl').after(error);
                element.closest('.cbl').addClass('error');
            }
            else { // This is the default behavior of the script
                error.insertAfter(element);
            }
        },
        rules: { ...

Где .rbl является тегом <table> и выглядит следующим образом css:

<table cellpadding="0" cellspacing="0" class="rbl">
<tr><td><label><input type="radio" name="myradio" value="1"> Radio 1</label></td></tr>
<tr><td><label><input type="radio" name="myradio" value="2"> Radio 2</label></td></tr>
</table>

CSS:

FORM .rbl
{
    float: left;
}
FORM .rbl TD
{
    padding: 4px 24px 0 0;
}

То же самое можно применить к спискам флажков с .cbl. Все другие типы, не относящиеся к радио и флажкам, будут использовать стандартное размещение ошибок.

Надеюсь, это поможет.

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