I JSF-Seite zu schreiben, die Benutzer erfordert auf eine Checkbox anklicken (ähnlich den Lizenzvertrag zu akzeptieren) I anstelle folgenden Code haben:JSF selectBooleanCheckbox erforderlich = true nicht überprüft, wenn Checkbox
<h:selectBooleanCheckbox value="#{checkBoxManagedBean.checkBoxValue}" required="true" id="jsfcheckBox" >
</h:selectBooleanCheckbox>
<h:outputLabel value="accept rule label" for="jsfcheckBox" />
<h:message for="jsfcheckBox"/>
<br/>
<h:commandButton id="loginButton" value="Submit"
action="#{checkBoxManagedBean.testAction}"/>
Ich setze die erforderliche = wahr, aber es gibt keine Validierung für die Checkbox. Ich sehe keine Nachricht, die auf der Seite für das Kontrollkästchen angezeigt wird.
Ich habe versucht, f: validateRequired, auch das funktioniert nicht.
<h:selectBooleanCheckbox value="#{checkBoxManagedBean.checkBoxValue}" required="true" id="jsfcheckBox" >
<f:validateRequired for="jsfcheckBox"></f:validateRequired>
</h:selectBooleanCheckbox>
<h:outputLabel value="CheckBox label" for="jsfcheckBox" />
<h:message for="jsfcheckBox"/>
<br/>
<h:commandButton id="loginButton" value="Submit"
action="#{checkBoxManagedBean.testAction}"/>
Die Seite muß nicht jederzeit Problem, Checkbox, Knöpfe alles sichtbar ist meine Erwartung eine Bestätigungsnachricht bekommen, wenn Checkbox nicht vor-Taste gedrückt wird, ausgewählt wird.
BTW, ist es JSF-Spezifikation, die erforderlich ist = True führt keine Validierung wirklich aus ??
required = true prüft, ob der Wert nicht leer ist, sowohl "true" als auch "false" sind keine leeren Werte, daher wird die Validierung bestanden. Wenn das Kontrollkästchen aktiviert werden soll, sollte ein anderer Typ von Validator verwendet werden. – Osw