我在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上的验证,这可能吗?
答案 0 :(得分:1)
使用属性process
并指定要在服务器上处理的每个组件:
<p:commandButton id="save" value="Save" action="#{bean.save}"
process=":form1 :form_upload" update=":form1" />
不要忘记将p:messages
放在:form1
的某处,否则您也想要更新它。
详细了解AJAX on JSF here。
答案 1 :(得分:0)
你可以使用PrimeFaces&#39; <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>