2016-07-10 2 views
0

私はこのフォームにサインアップしています。これは、ボタンを押すたびにデータベースに追加されるデータがなくても、毎回送信してイベントが発生するため、どのように検証するのですか?jquery/ajaxフォームをどのように検証しますか?

<form id="signupform" class="form" method="post" action="#"> 
    <div class="input-prepend" ><span class="add-on"><i class="glyphicon glyphicon-user"></i></span> 
     <label for="name">Your Full Name</label> 
      <input type="text" id="name" name="name" placeholder="your full name" size="40"> 
    </div> 

    <br /> 

    <div class="input-prepend"><span class="add-on"><i class="glyphicon glyphicon-envelope"></i></span> 
      <label for="email">Your Email</label> 
       <input type="email" id="email" name="email" placeholder="[email protected]" size="40" style="color:black;" class="validate" required> 
    </div> 

    <br /> 

    <button type="submit" class="btn btn-large" name="action"> Sign Up!</button> 
</form> 

、これは私が私のjqueryのコードのために持っているものです::これは、これまでに私のコードです

$(document).ready(function(){ 
     jQuery("#signupform").on("submit",function(e){ 
      e.preventDefault(); 
      var name = jQuery("#name").val(); 
      var email = jQuery("#email").val(); 
      var fd = new FormData(); 
      fd.append("name",name); 
      fd.append("email",email); 
      jQuery.ajax({ 
       type: 'POST', 
       url: 'signup.php', 
       data: fd, 
       processData: false, 
       contentType: false 
      }) 
      jQuery('#signupform')[0].reset();  

     }); 


    }); 
+2

その後、あなたは2つの問題を抱えています。ブラウザーで検証するものに関係なく、クライアントからの信頼は何もなく、サーバーで検証する必要があります。または、サイト全体を危険にさらす必要があります – charlietfl

答えて

0
$(document).ready(function(){ 
     jQuery("#signupform").on("submit",function(e){ 
      e.preventDefault(); 
      var name = jQuery("#name").val(); 
      var email = jQuery("#email").val(); 

      if (!nome || !email || !email.match(/[email protected]+[.].+/)) 
      { 
       alert("complete the form before submit"); 
       return; 
      } 

      var fd = new FormData(); 
      fd.append("name",name); 
      fd.append("email",email); 
      jQuery.ajax({ 
       type: 'POST', 
       url: 'signup.php', 
       data: fd, 
       processData: false, 
       contentType: false 
      }) 
      jQuery('#signupform')[0].reset();  

     }); 


    }); 
+0

これはありがとうございます!電子メールが有効かどうかチェックするにはどうしたらいいですか? @ – tash517

+0

正規表現を使用せずにランダムな単語を置くだけの場合は、この条件をif: '!email.match(/[email protected]+++++++++++++)'に追加してください。 – lmcarreiro

関連する問題