Как я могу сделать одно центральное сообщение для моей пользовательской функции проверки JQuery? - PullRequest
0 голосов
/ 03 октября 2011

Я использую плагин jquery validate для проверки моей формы. Мне нужно проверить, что заполнено 1 поле раздела. Это код, который я использовал: http://blog.rebeccamurphey.com/2009/04/15/jquery-validation-indicate-that-at-least-one-element-in-a-group-is-required/

Итак, у меня есть несколько полей формы с классом required_group и следующими строками кода в моей функции document.ready:

jQuery.validator.addMethod('required_group', function(value, element){
        var $module = $(element).parents('div.panel');
        return $module.find('.required_group:filled').length;
    },
    "Please fill out at least one of these fields");

jQuery.validator.addClassRules('required_group', {'required_group':true});

Это работает так, как должно. Но - я нахожу немного беспорядочным, чтобы сообщение "Пожалуйста, заполните хотя бы одно из этих полей" показывалось каждым полем в группе. Я предпочел бы иметь одно сообщение в верхней части группы. Как я могу сделать это с помощью плагина validate? Есть ли способ настроить, где я хочу, чтобы сообщение отображалось?

1 Ответ

0 голосов
/ 03 октября 2011

Используйте параметр showErrors , чтобы определить собственную функцию отображения сообщений. Из документации :

showErrors Callback По умолчанию: Нет, используется отображение встроенных сообщений.

Пользовательский обработчик отображения сообщений. Получает карту ошибок как первый аргумент и массив ошибок, как второй, вызывается в контексте объекта валидатора. Аргументы содержат только эти элементы в настоящее время проверено, что может быть одним элементом при выполнении проверка onblur / keyup. Вы можете запустить (в дополнение к вашему собственному сообщения) поведение по умолчанию, вызывая this.defaultShowErrors ().

Редактировать: вот скрипка , которая делает более или менее то, что вам нужно.

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