从另一个表单中的按钮触发表单验证



我在Glassfish上使用带有JSF-2的Primefaces,试图交叉验证表单。场景如下:

<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,这是可能的吗?

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

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

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

在这里阅读更多关于JSF上AJAX的信息

您可以使用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>

相关内容

  • 没有找到相关文章

最新更新