Как использовать JQuery, Проверяют для создания всплывающего окна со всей ошибкой формы, когда кнопка отправки нажата?

Я использую плагин Проверки JQuery для клиентской проверки формы. В дополнение к красочному моделированию на недопустимых полях формы мой клиент требует, чтобы всплывающее сообщение показали. Я только хочу показать это сообщение, когда кнопка отправки является щелчком, потому что это свело бы пользователя с ума иначе. Я попробовал следующий код, но errorList всегда пуст. Любой знает корректный способ сделать что-то подобное.

function popupFormErrors(formId) {
  var validator = $(formId).validate();
  var message = '';
  for (var i = 0; i < validator.errorList.length - 1; i++) {
    message += validator.errorList[i].message + '\n';
  }

  if (message.length > 0) {
    alert(message);
  }
}

$('#btn-form-submit').click(function(){
  $('#form-register').submit(); 
  popupFormErrors('#btn-form-submit');
  return false;
});

$('#form-register').validate({
  errorPlacement: function(error, element) {/* no room on page */},
  highlight: function(element) { $(element).addClass('invalid-input'); },
  unhighlight: function(element) { $(element).removeClass('invalid-input'); },
  ...
});

Обновление От информации в принятом ответе я придумал это.

var submitClicked = false;

$('#btn-form-submit').click(function() {
  submitClicked = true;
  $('#form-register').submit();    
  return false;
});

$('#form-register').validate({
  errorPlacement: function(error, element) {/* no room on page */},
  highlight: function(element) { $(element).addClass('invalid-input'); },
  unhighlight: function(element) { $(element).removeClass('invalid-input'); },
  showErrors: function(errorsObj) {
    this.defaultShowErrors();
    if (submitClicked) {
      submitClicked = false;
      ... create popup from errorsObj...
    }
  }
  ...
});
5
задан Lawrence Barsanti 17 June 2010 в 19:40
поделиться

1 ответ

Вам действительно стоит обратить внимание на использование следующей опции для проверки jQuery

showErrors

вот ссылка на документацию http://docs.jquery.com/Plugins/Validation/validate#options

4
ответ дан 15 December 2019 в 00:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: