我寫JSF頁面,要求用戶點擊一個複選框(類似於接受許可協議),我有以下到位代碼:JSF selectBooleanCheckbox必需=真不驗證,如果複選框被選中
<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}"/>
我正在設置required = true,但沒有對複選框進行驗證。我沒有看到任何消息顯示在複選框的頁面中。
我已經試過f:validateRequired,即使這是行不通的。
<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}"/>
頁可是沒有任何時間問題,複選框,按鈕都可見,我的期望是得到一個驗證消息,當按下按鈕之前未選中複選框。
順便說一句,它是JSF規範,所需=真並不真正執行任何驗證?
required = true驗證值是否不爲空,'true'和'false'都不是空值,所以驗證通過。如果你想複選框被選中,那麼應該使用另一種類型的驗證器。 – Osw 2013-02-10 11:24:32