在我的應用程序有一個SelecOneMenu這顯示了一些項目,如下面..如何在面板完成渲染之前阻止JSF中的表單提交?
<h:selectOneMenu id="cmbInput" value="#{myBean.val}" required="true" requiredMessage="Some Message">
<f:selectItem itemLabel="Please select" noSelectionOption="true" />
<f:selectItems value="#{myBean.items}" />
<f:ajax event="valueChange" render="myPanel"/>
<f:ajax listener="#{myBean.myListener}"/>
</h:selectOneMenu>
基本上只要用戶選擇它將呈現一個面板下方具有像下面一些輸入字段中的項目..
<h:panelGroup id="myPanel" rendered="#{myBean.someFlag}">
<h:inputText id="input1" value="#{myBean.someVal}" required="true">
</h:panelGroup>
還有一個「下一步」按鈕,它將用戶帶到下一頁。
我面臨的問題是,無論何時用戶從下拉列表中選擇一些內容並在面板呈現之前單擊下一個按鈕,它都會將他帶到下一頁。但我想阻止它,因爲該面板包含需要輸入的字段,所以我希望在下一次點擊時發生驗證錯誤。
如果你能在項目中使用primefaces看看阿賈克斯狀況組件[阿賈克斯狀態(http://www.primefaces.org/showcase/ui /pprAjaxStatusScript.jsf) – Ravi 2012-07-21 14:11:25