【发布时间】:2014-11-25 16:48:34
【问题描述】:
我在一个表单中有一个p:ajax,它在选择中触发change 事件。我还有一个单独的提交按钮来提交表单。
表单包含多个验证。我想在p:ajax 通话期间绕过所有验证。相反,所有验证都应该在表单提交期间进行。
这是我的表单:Field1 和 Field2 是必填。但是在 p:ajax 调用期间应该绕过这些验证,这反过来会根据选定的 Field2 值呈现 Field3。
我该怎么做?
<h:body>
<h:form id="formId">
<p:outputPanel autoUpdate="true">
<p:message for="field1Id field2Id" />
<p:panel id="panelId">
<p:panelGrid>
<p:row>
<p:column>
<h:outputText value="Field1:" />
</p:column>
<p:column>
<p:inputText
id="field1Id"
required="true"
requiredMessage="Field1 is Required!"
value="#{testBean.field1}"
size="5"
maxlength="30" />
</p:column>
</p:row>
<p:row>
<p:column>
<h:outputText value="Field2:" />
</p:column>
<p:column>
<p:selectOneMenu
id="field2Id"
value="#{testBean.field2}"
required="true"
requiredMessage="Field2 is Required!">
<f:selectItems
value="#{testBean.fields}"
var="var1"
itemDescription="#{var1.description}"
itemLabel="#{var1.description}"
itemValue="#{var1.id}" />
<p:ajax
process="@form"
event="change" />
</p:selectOneMenu>
</p:column>
</p:row>
<p:row rendered="#{testBean.field2 > 0}">
<p:column>
<h:outputText value="Field3:" />
</p:column>
<p:column>
<p:inputText
value="#{testBean.field3}"
size="5"
maxlength="10" />
</p:column>
</p:row>
</p:panelGrid>
<p:commandButton
value="Save"
action="#{testBean.saveForm()}"
process="@form" />
</p:panel>
</p:outputPanel>
</h:form>
</h:body>
【问题讨论】:
-
如果没有看到任何有关您的表单的信息,这将很难提供帮助!
-
this 可能会帮助你。
标签: jsf-2 primefaces