Пользовательская валидация, 1000 Гц, загрузочный валидатор

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

это мой код:

$("#applicant-email").change(function() {

  var restURL= "http://apilayer.net/api/check?access_key=<key>&email="+$("#applicant-email").val()+"&smtp=1&format=1";
  $.ajax({
    type : 'GET',
    url :restURL,
    dataType :'json',
    success : renderList,
  });
  return false;
});



function renderList(data) {
  if ((data.format_valid == true) && (data.smtp_check == true) ) {
    console.log("Email address is valid");
    $("#applicant-email").removeClass("email-invalid");
    $("#applicant-email").addClass("email-valid");
  }
  else {
    console.log("Email address is not valid");
    $("#applicant-email").removeClass("email-valid");
    $("#applicant-email").addClass("email-invalid");

  }
}


и настраиваемая функция валидатора:


$('#myForm').validator({
  custom: {
    emailexist: function ($el) {
      if($('#'+$el.attr('id')).hasClass('email-invalid')){
        console.log("it is invalid")
        return true;
      }
      else {
        console.log("it is valid");
        return false;
      }
    }


  },
  errors: {
    emailexist: "Nope"
  }
})

и html-код поля ввода:

<input id="applicant-email" required data-table="Applicant email address" data-emaildup="false" data-emailexist="email" data-emailexist-error="Enter an existant email" data-emaildup-error="You can't use the same email address more than once" data-pattern-error="Please enter a valid email address" data-required-error="Please enter an Email address."  name="applicant-email" type="email" class="multisteps-form__input form-control"  placeholder="Email address">
<div class="help-block with-errors"></div>

0 ответов

Другие вопросы по тегам