io a scrivere la pagina JSF, che richiede agli utenti di cliccare su una casella di controllo (simile ad accettare il contratto di licenza) Ho seguente codice nel luogo:JSF selectBooleanCheckbox richiesto = true non convalida se sia selezionata
<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}"/>
Sto impostando il valore richiesto = true, ma non ci sono convalide in corso per la casella di controllo. Non vedo alcun messaggio visualizzato nella pagina per la casella di controllo.
Ho provato f: validatoRequired, anche questo non funziona.
<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}"/>
La pagina doesnt hanno alcun problema di tempo, casella di controllo, pulsanti tutto visibile, la mia aspettativa è sempre un messaggio di convalida, quando casella di controllo non sia selezionata prima si preme il pulsante.
BTW, specifica JSF che richiede = true non esegue realmente alcuna convalida ??
required = true sta convalidando se il valore non è vuoto, sia 'true' che 'false' non sono valori vuoti, quindi la convalida è superata. Se si desidera che la casella di controllo sia selezionata, è necessario utilizzare un altro tipo di validatore. – Osw