0
我需要使輸入「gmail」,「hotmail」,「yahoo」,「rediff」地址的垃圾郵件製造者無效。並只允許商業電子郵件。我使用的是流行的驗證插件:http://jqueryvalidation.org/jquery驗證器插件代碼不針對多個值
所以這裏是檢查針對單個值和作品的代碼:
jQuery.validator.addMethod("biz", function(value, element) {
var email = value;
return !(email.indexOf("gmail") > -1);
}, "Only business emails allowed");
下面是HTML:
<label>Email Address <em class="formee-req">*</em></label>
<input class="email" id="email" placeholder="Enter Business Email Only" type="text" name="email">
<span></span>
然後是調用插件:
$('.basic-form').validate(
{
rules: {
email : {
biz: true
}
}
上述代碼有效。所以,現在當我試圖驗證對多個值,像這樣:
jQuery.validator.addMethod("biz", function(value, element) {
var invalid_email_domains = ["gmail", "hotmail", "yahoo", "rediff"];
var email = value;
$.each(invalid_email_domains, function (index, invalid_domain) {
if(email.indexOf(invalid_domain) > -1) {
return true;
} else {
return false;
};
});
}, "Only business emails allowed");
它不驗證爲其他值即我總是得到錯誤「只有企業郵件允許」無論輸入怎樣的價值。我究竟做錯了什麼?我嘗試翻轉布爾,但它只是不斷返回相同的錯誤。