2012-10-31 22 views
0

我正在嘗試使用JSF 2.0, 構建一個下拉菜單,並在使用菜單中的「請選擇」提交表單時添加驗證。在JSF 2.0中使用selectOneMenu進行驗證

<h:selectOneMenu id="templateMenu" value="#{bean.list}" required="true" requiredMessage="Please select a value."> 
    <f:selectItem itemLabel="Please Select" noSelectionOption="true" /> 
    <f:selectItem itemLabel="Item01" itemValue="1"/> 
    <f:selectItem itemLabel="Item02" itemValue="2"/> 
    <f:selectItem itemLabel="Item03" itemValue="3"/> 
    <f:selectItem itemLabel="Item04" itemValue="4"/> 
    <f:validateRequired/> 
</h:selectOneMenu> 

然而,當我提交頁面與「請選擇」選擇,驗證不火,它只是停留在同一個頁面。

如果有人知道發生了什麼,請你能幫助我嗎?

非常感謝!

+0

確保您有一個圍繞內容的表單。你怎麼知道驗證不會失敗?你看看你的控制檯是否打印了驗證失敗的消息?如果打印驗證消息,則驗證發生。所以你只需要在@ CycDemo的答案中添加一個消息組件來顯示消息。 – prageeth

+0

噢,是的,你是對的。原來我錯過了要顯示給消息的消息組件!非常感謝。 – Hei

回答

4

您需要h:message爲您的selectOneMenu。其中將顯示selectOneMenurequiredMessage的消息。

<h:message for="templateMenu"/> 
<h:selectOneMenu id="templateMenu" value="#{csvUploadBean.selectedTemplate}" required="true" requiredMessage="This value is required."> 
    ..... 
</h:selectOneMenu>