Подтвердить что ты не робот

Проверка формы jQuery: определение контейнера для ошибок

Я использую плагин проверки jQuery, чтобы проверить мою форму. Он работает (помещает сообщения об ошибках рядом с недопустимым вводом, который закручивает мой проект), но я бы хотел указать контейнер ошибок для каждого поля ввода. Я нашел errorLabelContainer, но это помещает все ошибки в один контейнер.

Скажем, у меня есть 2 входа, один с id name и один с firstname. И пусть предположим, что у меня есть 2 пробела ошибки, с идентификаторами errorName и errorFirstname. Как сообщить jQuery о записи ошибки проверки для name в диапазон с id errorName.

Это мой текущий jQuery:

$("#form").validate({
    errorLabelContainer: "#errors",
        rules: {
            name: {
                required: true
            },
            firstname: {
                required: true
            }
        },
        messages: {
            name: {
                required: "Enter name"
            },
            firstname: {
                required: "Enter firstname"
            }
        }
    })
4b9b3361

Ответ 1

Я думаю, что опция errorPlacement соответствует вашим потребностям:

Настроить размещение созданных меток ошибок. Первый аргумент: созданная метка ошибки как объект jQuery. Второй аргумент: недопустимый элемент как объект jQuery.

Вы можете определить элемент, по которому вы хотите поместить ошибку, на основе недопустимого элемента:

$("#form").validate({
    rules: {
        name: {
            required: true
        },
        firstname: {
            required: true
        }
    },
    messages: {
        name: {
            required: "Enter name"
        },
        firstname: {
            required: "Enter firstname"
        }
    },
    errorPlacement: function ($error, $element) {
        var name = $element.attr("name");

        $("#error" + name).append($error);
    }
});

Пример: http://jsfiddle.net/R3aEQ/