Отображать сводные и отдельные сообщения об ошибках с помощью плагина проверки jQuery - PullRequest
18 голосов
/ 17 мая 2010

Как отобразить как отдельные сообщения об ошибках, так и сводку для плагина jQuery?

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

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

Только что узнал, как, спасибо за код Дэвида, и на моем последующем вопросе - окно предупреждения будет: «Имя: Пожалуйста, введите правильное Имя».

Код ниже:

$(document).ready(function() {
    var submitted = false;
    ('.selector').validate({
        showErrors: function(errorMap, errorList) {
            if (submitted) {
                var summary = "You have the following errors: \n";
                $.each(errorMap, function(key, value) {
               summary += key + ': ' + value + "\n";
                });
                alert(summary);
                submitted = false;
            }
            this.defaultShowErrors();
        },
        invalidHandler: function(form, validator) {
            submitted = true;
        }
    });
});

1 Ответ

22 голосов
/ 17 мая 2010

Как говорит связанный вопрос, обратный вызов showErrors вызывается всякий раз, когда отображаются ошибки. Вы можете использовать это, чтобы создать свое резюме и предупредить его. Затем вы можете позвонить this.defaultShowErrors(), чтобы отобразить обычные отдельные сообщения об ошибках.

По умолчанию showErrors вызывается для многих событий (submit, keyup, blur и т. Д.). Вы можете либо отключить их, либо использовать метод invalidHandler, который вызывается только при отправке неверной формы.

Пример:

$(document).ready(function() {
    var submitted = false;
    ('.selector').validate({
        showErrors: function(errorMap, errorList) {
            if (submitted) {
                var summary = "You have the following errors: \n";
                $.each(errorList, function() { summary += " * " + this.message + "\n"; });
                alert(summary);
                submitted = false;
            }
            this.defaultShowErrors();
        },          
        invalidHandler: function(form, validator) {
            submitted = true;
        }
    });
});

См. здесь для получения полного списка опций, которые можно передать методу validate.

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