Как отключить уведомления проверки по умолчанию? - PullRequest
0 голосов
/ 16 апреля 2011

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

Вместо этого я просто хотел бы выделить поля с ошибками и отобразить список ошибок вверхняя часть формы.Я нашел что-то похожее на это в документации для плагина validate с помощью invalidHandler, но это не отключает отображение сообщений об ошибках рядом с недопустимыми полями, а также не позволяет мне захватывать сообщения об ошибках и помещать их в верхнюю часть окна.форма.

$("#myform").validate({
    debug: true,
    invalidHandler: function(form, validator) {
        var errors = validator.numberOfInvalids();
        if (errors) {
            var message = errors == 1
                ? 'You missed 1 field. It has been highlighted'
                : 'You missed ' + errors + ' fields. They have been highlighted';
            $("div#errorMessage span").html(message);
            $("div#errorMessage").show();
        } else {
            $("div#errorMessage").hide();
        }
    },
    rules: {
        name: (required: true}
    },
    messages: {
        name: "You must give your name"
    }
});

Заранее спасибо за помощь.

Ответы [ 2 ]

1 голос
/ 16 апреля 2011

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

http://docs.jquery.com/Plugins/Validation/validate#toptions

errorLabelContainer отображает сообщения об ошибках в определяемом вами элементе, а не рядом с полем.

$("#myform").validate({
    debug: true,
    errorLabelContainer: "div#errorMessage",
    wrapper: "li", 
    rules: {
        name: (required: true}
    },
    messages: {
        name: "You must give your name"
    }
});

опция оболочки позволяет вам обернуть сообщения в элемент, в данном случае это li.

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

0 голосов
/ 25 апреля 2011
$(".selector").validate({
   showErrors: function(errorMap, errorList) {
        $("#summary").html("Your form contains "
                                   + this.numberOfInvalids() 
                                   + " errors, see details below.");
    }
 })

http://docs.jquery.com/Plugins/Validation/validate#options

...