2017-05-29 5 views
0

朝、関数onkeyupがfalseを返すときにラベルを呼び出したいとします。 私はjqueryのバリデータを設定し、私はルールを設定するには、関数のjquery検証ラベルを設定する

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

をclledが、私は、電子メールを検証し、反対の場合はそれが正しいと真でない場合はfalseを返す別の関数を持っています。

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

今、私が書くとき、無効な電子メールjQueryのバリデータはemail wrongを言ってラベルを示しますが、私はそれはそれは私の機能emailvalidate()で、それならばメールフォーム値をテストしますからkeyupやフォーカス、他の分野にも必要falseを返すと、jqueryバリデータープラグインのメッセージが表示されます。

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

答えて

1

よう STHはよく私はちょうど追加、あなたは、これはこれは私の問題の解決策だった

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

ためのルールが、それは簡単です、私はラベルのエラーを表示したいです私の関数が間違った電子メールを検出するとjquery。 –

0

を検証するための検証コードをJS使用することができます場合だけでなく、あなたのプラグインについてどんな考えを持っていけません既存のバリデータに新しいメソッドを追加しました。

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"); 

アンその後、私は[JqueryValidation](https://jqueryvalidation.org/)プラグインを使用していjQueryValidator

$("#MyForm").validate({ 
       rules: { 
        corrA: { 
         email: true, 
         required: true, 
         correoval:true //this was the method that I added 
        } 
関連する問題