2016-05-19 3 views
2

Ich versuche, ein Anmeldeformular mit Radiobuttons wie dieseRadiobutton Validierung in JSP

msgErr sent by the validation

zu machen und ich bestätigen die Eingabe auf einem anderen .jsp Datei mit dem Formular

<form action="Controller/doRegister.jsp" method="post"> 
<table bgcolor="#000000" align="center" cellspacing="5px"> 
    <tr> 
    <td>Gender</td> 
    <td> 
     <input type="radio" name="rdo" id="gender_male" value="male"> Male 
     <input type="radio" name="rdo" id="gender_female" value="female"> Female</td> 
    </tr> 
</table> 

mit der Validierung

String userGender = request.getParameter("rdo"); 
if(userGender!="male"&&userGender!="female") 
    response.sendRedirect("../register.jsp?msgErr=Gender must be chosen "+userGender); 

aber wenn ich die Form habe ich versucht, bekam eine Fehlermeldung

„Gender gewählt werden muss“

obwohl ich den Radiobutton gewählt haben. Wenn ich denke, dass die userGender Taste keinen Wert erhalten habe, drucke ich die userGender und es zeigt "männlich". Bitte sag mir, was los ist.

Antwort

0

Ich würde davon ausgehen, dass Sie

if(!userGender.equals("male")&&!userGender.equals("female")) 

verwenden sollten, weil wir für String Vergleich '=' oder '! =' Verwenden nicht.

Nullpointer zu vermeiden, überprüfen, ob die userGender null ist, bevor Sie den Vergleich durchführen:

if(userGender!=null) 
{ 
    if(!userGender.equals("male")&&!userGender.equals("female")) 
     response.sendRedirect("../register.jsp?msgErr=Gender must be chosen "+userGender); 
} 
+0

Der Code funktioniert, wenn ich '.equals' verwenden und eine der Auswahlknopf auswählen. Aber jetzt habe ich einen neuen Fehler, als ich keinen auswählte. Es heißt 'org.apache.jasper.JasperException: Eine Ausnahme ist bei der Verarbeitung der JSP-Seite /ProjectLab/Controller/doRegister.jsp in Zeile 24' aufgetreten. ! userGender.equals ("weiblich")) response.sendRedirect ("../ register.jsp msgErr = Geschlecht gewählt werden muss?"); ' es sagt auch' root cause' 'java.lang.NullPointerException' Ich drucke userGender nur um zu sehen, ob es einen Wert hat oder nicht – Reynaldi

+0

@Reynaldi Bitte überprüfen Sie die Änderung in der Antwort, machen Sie einfach eine einfache NullPointerCheck, bevor Sie mit mehr Zeug weitermachen. – BenBen

+0

Und schließlich funktioniert der Code gut, danke. (Ich weiß nicht, warum der Kommentartextarea sagt, um Kommentare wie "Danke" zu vermeiden) – Reynaldi