私のアプリケーションでは、ウィザードを作成しました。表示されていないパネルで検証が失敗するため、パネルを切り替えることができないようです。rich: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を通常のパネルに置き換え、コントローラプロパティを使用して正しいパネルを再レンダリングしました。 – gadeynebram