0

我正在尝试使用 1000hz 引导验证器为电子邮件添加自定义验证,如果电子邮件字段的值在另一个字段中重复,我想生成验证。

到目前为止,这是我的代码:

var filledEmail = [];
  function checkEmailDup(email) {
    document.querySelectorAll("input[type='email']").forEach(mailField => {
        const emailVal = email.value;
        const hasMail = filledEmail.find(x => x === emailVal);
        if (!hasMail) {
          filledEmail.push(emailVal);
          console.log("Valid Email");
          return true;
        }
        else {
          console.log("Invalid Email");
          return false;
        }
        console.log('filled mails without duplicates', filledEmail)
    });
  }
  
  
$('#myForm').validator({
  custom: {
    'emaildup': function ($el) {
    if (checkEmailDup($el)== false) {
        return false;
    }
    else {
      return true;
    }
}
  },
  errors: {
    'emaildup': "Nope"
  }
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js">
</script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/1000hz-bootstrap-validator/0.11.5/validator.min.js"></script>

<form id="myForm" name="rental-app-form" role="form" class="multisteps-form__form" data-toggle="validator">
<input id="applicant-email" required data-table="Applicant email address" data-emailDup="true"  data-emailDup-error="Enter a unique email" data-pattern-error="pattern error" data-required-error="Please enter a valid Email address." name="applicant-email" type="email" class="multisteps-form__input form-control" placeholder="Email address">
<input id="parent-1-email" required data-table="Parent 1 Email Address" data-emailDup="true"  data-emailDup-error="Enter a unique email" data-error="Please enter a valid Email address." name="parent-1-email" type="email" class="multisteps-form__input form-control" placeholder="Email Address">
<input id="parent-2-email" required data-table="Parent 2 email" data-emailDup="true"  data-emailDup-error="Enter a unique email" data-error="Please enter a valid Email address." name="parent-2-email" type="email" class="multisteps-form__input form-control" placeholder="Email Address">
<input id="landlord-email" required data-table="Landlord email address" data-emailDup="true"  data-emailDup-error="Enter a unique email" data-error="Please enter Email address." name="landlord-email-a" type="email" class="multisteps-form__input form-control nameF" placeholder="Email address">
<input name="employer-email-a" data-table="Employer email" data-emailDup="true"  data-emailDup-error="Enter a unique email" data-error="Please enter a valid email address" type="email" class="multisteps-form__input form-control" placeholder="Email Address(optional)">
<button class="btn btn-success ml-auto" type="submit" title="Send">Submit</button>
</form>

当我在输入字段中输入任何内容时,什么都没有发生

4

0 回答 0