在tabview PF中更改选项卡时保持表单状态

时间:2015-04-15 07:33:27

标签: jsf-2 primefaces

我有一个带有两个标签的标签视图。每个选项卡都有一个如下示例所示的表单:

    <p:tabView id="WorkSpace">
    <p:tab title="tab1" closable="true" id="tab_1" >
    <h:form id="formA">
    <h:outputText value="Reference: " />
                        <p:inputText  required="true" value="#{testBean.reference}" requiredMessage="This field is required"/>
<h:outputText value="Age: " />
                        <p:inputText  required="true" value="#{testBean.age}" requiredMessage="This field is required"/>
    <p:commandButton process="@this" action="#{testBean.testA}" value="OK">
    </h:form>
    </p:tab>
    <p:tab title="tab2" closable="true" id="tab_2" >
    <h:form id="formB">
    <h:outputText value="Name: " />
                        <p:inputText  required="true" value="#{testBean.name}" requiredMessage="This field is required"/>
    <p:commandButton process="@this" action="#{testBean.testB}" value="OK">
    </h:form>
    </p:tab>
    </p:tabView>

我的问题是我想在从标签页更改为另一个标签时保持表单状态,这样说: 当我填写输入&#34;参考&#34;在formA中,将tab更改为formB(不单击OK按钮)然后返回formA,字段引用不应为空。

我知道表单没有被处理,并且没有更新支持bean,所以我尝试使用一个处理formA onTabChange事件的remoteCommand来更新支持Bean:

<p:remoteCommand name="saveState" action="#{testBean.saveState}" process="@this" />

但是,表格正在验证,(输入年龄和参考应填写)。尝试添加immediate = true以跳过验证时,不会在backingBean上更新任何字段。

有没有办法做到这一点? 感谢。

0 个答案:

没有答案
相关问题