2017-05-29 81 views
0

上午,例如,我想在函數onkeyup返回false時調用標籤。 我設置jQuery的驗證,我定了一個規矩clled設置功能上的jquery驗證標籤

e-mail: { 
email:true, 
required:true 
} 

,但我有一個確認的電子郵件並返回false如果它是不正確的,如果相反的真正的另一功能。

function emailvalidate(email_string){ 
[regex test emailstring] 
return true or false //(and show label of jqueryvalidator) 
} 

現在,當我寫了無效的電子郵件jQuery的驗證顯示標籤上說email wrong,但我還需要在KEYUP或焦點其他領域也將與我的功能emailvalidate(),如果測試電子郵件形式值返回false它會顯示jquery驗證器插件的消息。 某事像

$("#email-field").on("keyup",emailvalidate($("#email-field").val())) 

回答

1

以及我沒有你的插件以及如果你將可以使用這個js驗證代碼來驗證

function ValidateEmail(mail) 
{ 
if(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(mail)) 
    { 
    return (true) 
    } 
    return (false) 
} 
$(document).ready(function() { 
$("#email-field").on("keyup",function(e){ 
    var mail = $("#email-field").val(); 
    var result = ValidateEmail(mail); 
    if(result == true){ 
     //do something here 
    }else{ 
     //do something here 
    } 
    return result; 
    e.preventDefault(); 
}); 

}); 
+0

我使用[JqueryValidation(https://jqueryvalidation.org/)插件,很簡單,我想說明的標籤錯誤jquery當我的函數檢測到一個不正確的電子郵件。 –

0

這是我的問題的解決方案的任何想法,只是增加了一個新的方法給我現有的驗證器,與功能。

jQuery.validator.addMethod("correoval", function(emailAddress) { 
        var pattern = /^([a-z\d!#$%&'*+\-\/=?^_`{|}~\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+(\.[a-z\d!#$%&'*+\-\/=?^_`{|}~\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+)*|"((([ \t]*\r\n)?[ \t]+)?([\x01-\x08\x0b\x0c\x0e-\x1f\x7f\x21\x23-\x5b\x5d-\x7e\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]|\\[\x01-\x09\x0b\x0c\x0d-\x7f\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))*(([ \t]*\r\n)?[ \t]+)?")@(([a-z\d\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]|[a-z\d\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF][a-z\d\-._~\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]*[a-z\d\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])\.)+([a-z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]|[a-z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF][a-z\d\-._~\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]*[a-z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])\.?$/i; 
        return pattern.test(emailAddress); 
       }, "Ingrese una dirección de correo válida"); 

一種則用於jQueryValidator

規則
$("#MyForm").validate({ 
       rules: { 
        corrA: { 
         email: true, 
         required: true, 
         correoval:true //this was the method that I added 
        }