我對我的selectOneMenu進行了驗證,以防止用戶在列表中選擇「無」項。JSF selectOneMenu驗證和ajax渲染
<h:selectOneMenu id="selectMenu" value="#{bean.selectedValue}" required="true" requiredMessage="Please select an item">
<f:ajax render="toRender selectMenuMessage" listener="#{bean.onSelect}"/>
<f:selectItem itemLabel="None" noSelectionOption="true"/>
<f:selectItems value="#{bean.items}" var="item" itemValue="#{item.id}" itemLabel="#{item.label}"/>
</h:selectOneMenu>
下面我有我的面板和希望展示它,只有當我的項目是不是「無」。 所以當我選擇「無」時,消息應該呈現並且面板消失。
<h:panelGroup id="toRender">
<h:panelGrid rendered="#{bean.selectedValue == 0 ? false : true">
...
</h:panelGrid>
</h:panelGroup>
它的工作沒有驗證,但我不能使兩個工作..這就像是如果驗證防止渲染。
有什麼建議嗎? 感謝
這不會改變任何東西。出現的消息(如果我選擇converterMessage而不是requiredMessage btw)但渲染不會被觸發,我的panelGrid不會消失。 –
感謝您的編輯,這次你很好理解,是的解決方案是在提交後選擇驗證和渲染。 –