2

我在 Glassfish 上使用 Primefaces 和 JSF-2,试图交叉验证表单。这是场景:

<h:form id="form1">
    <p:messages id="msgs" showDetail="false" autoUpdate="true" closable="true" />
    some input fields with validation
</h:form>

<h:form id="form_upload">
    some upload fields that dont trigger validations
</h:form>

<h:form id="buts">
    <p:commandButton id="save" value="Save" action="#{bean.save}"
        update=":form1 :form1:msgs" process=":form1">
</h:form>

我想要按钮保存以触发 form1 上的验证,这可能吗?

4

2 回答 2

1

使用该属性process并指定要在服务器上处理的每个组件:

<p:commandButton id="save" value="Save" action="#{bean.save}"
     process=":form1 :form_upload" update=":form1" />

不要忘记在p:messages某个地方放一个:form1,否则你也想更新它。

在此处阅读有关JSF 上的 AJAX 的更多信息。

于 2012-12-28T18:18:13.217 回答
0

您可以使用 PrimeFaces'<p:remoteCommand>

<h:form id="form1">        
    some input fields with validation
    <p:remoteCommand name="rc" update="@form" action="#{bean.save}" />
</h:form>

远程调用示例:

<h:form id="buts">
   <p:commandButton value="Save" type="button" onclick="rc()" />
</h>
于 2015-03-02T10:58:32.710 回答