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

Отображать как сводные, так и индивидуальные сообщения об ошибках с помощью плагина проверки jQuery

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

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

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

Просто узнал, как, спасибо за код Дэвида и мой вопрос о последующих действиях. В поле предупреждения будет "Имя: Пожалуйста, введите действительное имя".

Код ниже:

$(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;
        }
    });
});
4b9b3361

Ответ 1

Как говорится в связанном вопросе, обратный вызов 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.