Validation rich:togglePanel的表单验证

Validation rich:togglePanel的表单验证,validation,richfaces,seam2,Validation,Richfaces,Seam2,在我的应用程序中,我创建了一个向导。似乎我无法切换面板,因为在未显示的面板上验证失败 向导具有以下布局: <rich:modalPanel> <f:facet name="header"> <h:outputText value="#{messages['motivation.title']}" /> </f:facet> <h:messages /> <rich:togglePan

在我的应用程序中,我创建了一个向导。似乎我无法切换面板,因为在未显示的面板上验证失败

向导具有以下布局:

<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时,什么也不会发生。如果我从组件中删除所需字段,则切换工作正常


如何仅对当前显示的组件进行正确验证?

我已将切换面板替换为普通面板,并使用控制器属性重新渲染正确的面板。

若要解决此问题,请将f:子视图替换为a4j:区域。这将解决问题,因为区域限制服务器端处理(包括验证)。

我已将togglePanel替换为普通面板,并使用控制器属性重新加载正确的面板。