我正在尝试使用 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>
当我在输入字段中输入任何内容时,什么都没有发生