2016-04-13 10 views
0

私が間違って作業しているコードでは、password1とpassword2が一致しない場合にフォームを送信できます。私は困惑している。どんな助けでも大歓迎です。私はこのサイトを参考にしてコーディングを学んでいます。ここのコミュニティは素晴らしいです。前もって感謝します。フォームが一致しないパスワードで送信する(JavaScript)

if ($.trim(Appery("register_firstname").val()) != "") { 
    if ($.trim(Appery("register_lastname").val()) != "") { 
     if (Appery("register_password1").val() == Appery("register_password2").val()) { 
      if ($.trim(Appery("register_email").val()) != "") { 
       if (!document.getElementsByName("register_email")[0].checkValidity || document.getElementsByName("register_email")[0].checkValidity()) { 
        if ($.trim(Appery("register_password1").val()) != "") {  
         {signupService.execute({}); 
        } 
       else {       
        document.getElementById("registrationpassword_error").innerHTML = "Please enter a password."; { 
        document.getElementById("register_password1").focus(); 
       } 
     } 
     }else { 
      document.getElementById("registrationemail_error").innerHTML = "Email Address not valid."; 
     { 
      document.getElementById("register_email").focus(); 
    } 
     } 
    } else { 
     document.getElementById("registrationemail_error").innerHTML = "Please enter your email."; { 
     document.getElementById("register_email").focus(); 
    } 
     } 
    } else { 
     document.getElementById("registrationpassword_error").innerHTML = "Passwords do not match."; { 
     document.getElementById("register_password1").focus(); 
    } 
     } 
} else { 
    document.getElementById("registrationlastname_error").innerHTML = "Please enter your last name."; { 
    document.getElementById("register_lastname").focus(); 
    } 
     //alert("Please enter your last name."); 
     } 
    } else { 
    document.getElementById("registrationfirstname_error").innerHTML = "Please enter your first name."; { 
     document.getElementById("register_firstname").focus(); 
    } 
     } 
    } 
+0

コード領域のコード –

答えて

0

あなたはシリーズであまりにも多くの条件のチェックを持って、そしてあなたの行方不明「}」の条件は、あなたの書いた「もし」のすべてを閉じるためにブレース。
左括弧と右括弧の数が一致している必要があります。
他の入力を検証する前に、パスワード検証が完了するように 'if'条件を分割します。それぞれの 'if'条件には 'true'/'false'の出力があり、コードの最後にチェックしてすべての条件が真であるかどうかを調べることができます。
これが私の検証方法です。
各条件チェックは他の条件チェックとは異なります。

+0

左右の中カッコの数が一致します。私はあなたの推薦を満たすために私のコードを修正する方法を知っている経験はありません。追加情報や例を提供できますか? – timmyusa

+0

これは、各条件付きチェックの後に正規表現クエリを追加するという意味で、多くのコードになります。正規表現はtrue/false出力のみを提供し、これは変数として格納されます。このフォームが正常に機能するには、これらの変数のすべてが 'true'と表示されている必要があります。実行するたびに、このコードブロックの先頭に「null」または「false」にリセットする必要があります。 – Sparky256

0

私はApperyが何であるかは確信していますが、通常のHTMLまたはJSPページであれば、フォームは上記のコードが何を返すかに関係なく、送信ボタンをクリックして送信します。

私は上記のコードが実行されるクリックでフォームを送信するための通常のボタンを使用しており、signupService.execute({});がフォームを送信しているとします。

コントロールが実際に最後のifループ内に入るかどうかをアラートで確認してみましたか?

関連する問題