在我的應用程序中,我創建了一個嚮導。看起來我無法切換面板,因爲驗證在未顯示的面板上失敗。豐富的表單驗證:togglePanel
嚮導具有這樣的佈局:
<rich:modalPanel>
<f:facet name="header">
<h:outputText value="#{messages['motivation.title']}" />
</f:facet>
<h:messages />
<rich:togglePanel id="motivationTogglePanel" switchType="ajax" initialState="wiz1" rendered="#{motivationController.enabled}">
<f:facet name="wiz1">
<f:subview id="wiz1sub">
<rich:toggleControl value="next" switchToState="wiz2"></rich:toggleControl>
</f:subview>
</f:facet>
<f:facet name="wiz2">
<f:subview id="wiz2sub">
<h:selectManyCheckbox id="checkBoxList1" required="true" value="#{controller.selectedValue}" layout="pageDirection">
<f:selectItems value="#{controller.options}"></f:selectItems>
</h:selectManyCheckbox>
</f:subview>
</f:facet>
</rich:modalPanel>
的modalPanel顯示正確地與wiz1面板開始。現在,當用戶單擊toggleControl時,什麼都不會發生。如果我從組件中刪除了所需的字段,則交換工作。
如何才能對當前顯示的組件進行恰當的驗證?
我用普通面板替換了togglePanel,並使用控制器屬性對reRender正確的面板進行了替換。 – gadeynebram 2012-04-24 15:17:56