2017-05-02 13 views
0

jquery検証プラグインを使用しています。私は電子メールをオプションにしておき、フィールドに入力する場合にのみ検証したいと考えています。私は必要を試しました:ルールでは偽ですが、検証はまだ行われています。助けてください。必要に応じて電子メールの検証が行われます:false、

$(document).ready(function() { 

    $.validator.addMethod("customemail", 
      function(value, element) { 
       return /^\b[A-Z0-9._%-][email protected][A-Z0-9.-]+\.[A-Z]{2,4}\b$/i.test(value); 
      } 
     ); 

    $("#signupForm").validate({ 
      rules: { 
email: { 
       required: false, 
       customemail: true 
      }, 
messages: { 
email: { 
       customemail: "Please enter a valid e-mail address", 
      }, 

答えて

0
はビットとして以下のようにコードを変更し

$.validator.addMethod("customemail", function(value, element) { 
     if ($("#email").val().length == 0) { 
      return true; 
     } 
     else if ($("#email").val().length > 0) { 
      return /^\b[A-Z0-9._%-][email protected][A-Z0-9.-]+\.[A-Z]{2,4}\b$/i.test(value); 
     } 
    },"Please enter a valid e-mail address"); 

と削除に必要:あなたの検証ルールから偽だけでなく、customemail:メッセージから「有効な電子メールアドレスを入力してください」 。

$( "#メール")valが() - 。必ずIDが入力されたIDと同じであることを確認してください

希望これは、この1が、運にコードを変更...

+0

こんにちはを試してみましたのに役立ちます。 – himansh06

+0

value.lengthの値を確認してください。あなたは何に着いていますか? –

+0

value.lengthが推奨されているように> 0として使用されていますが、それでも有効であることを確認しています – himansh06

関連する問題