Плагин проверки jQuery - показывает только первую ошибку в errorContainer - PullRequest
3 голосов
/ 24 апреля 2010

функция validateEmail () { // ############################### $ ( "# Contato_form"). Проверки ({ errorContainer: "#wrapperError", errorLabelContainer: "#wrapperError span.error", отлаживать: правда, правила: { nome: {обязательно: верно}, электронная почта: {обязательно: верно}, mensagem: {обязательно: верно} }, Сообщения: { nome: {обязательно: 'Informe seu nome.' }, электронная почта: {обязательно: 'Informe um endereço email válido.' }, mensagem: {требуется: 'Por favour, escreva sua mensagem.' }
}, submitHandler: function () { $ .Ajax ({ тип: "POST", URL: "http://www.mydomain.com/sendemail.php", data: ({nome: $ ("input # nome"). val (), электронная почта: $ ("input # email"). val (), mensagem: $ ("textarea # mensagem"). val ()}) , success: function (msg) { $ ('div # enviado'). html ('') .append (msg); } }); } }); }

Когда я отправлю. Я получил это сообщение об ошибке:

  Informe seu nome.Informe um endereço email válido.Por favor, escreva sua mensagem.  

Как я могу получить только первую ошибку без этой errorContainer? После первого ввода все в порядке, затем следующая ошибка и т. Д.

Спасибо

Ответы [ 2 ]

7 голосов
/ 11 октября 2010
showErrors: function(errorMap, errorList) {
    if (errorList.length) {
       var s = errorList.shift();
       var n = [];
       n.push(s);
       this.errorList = n;
    }
    this.defaultShowErrors();
},

Этот код удаляет все элементы ошибки из плагина errorList, но сначала после проверки, но до ее отображения. Я думаю, это можно было бы написать более коротким способом, но оставить так, чтобы было легче понять идею решения. Я надеюсь, что это поможет. И одно замечание ... иногда, при определенных обстоятельствах, вместо одного сообщения об ошибке вы можете показать их все. Чтобы предотвратить это, попробуйте сгруппировать поля для проверки по следующему коду (например,):

   groups: {
      logon: "login password"
   },messages : {
      login : {required:"Enter login"},
      password : {required:"Enter password"}
   }
0 голосов
/ 24 апреля 2010

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

var errorSpan = $('#wrapperError span.error');
errorSpan.text(errorSpan.text().match(/^[^.]*\.?/g));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...