我有一個p:ajax
在一個窗體內觸發change
事件在選擇。另外我有一個單獨的提交按鈕來提交表單。JSF Primefaces - 旁路驗證在p:ajax
該表單包含多個驗證。我想在p:ajax
呼叫期間繞過所有驗證。相反,所有的驗證應該在表單提交期間進行。
這是我的形式:字段1和字段2是強制性。但是這些驗證應在p:ajax
調用中繞過,而該調用依次根據所選的字段2值呈現字段3。
我該怎麼做?
<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>
這將是很難幫助沒有看到關於您的形式的東西! – 2014-09-30 22:50:52
[this](http://stackoverflow.com/questions/14335610/jsf-skip-validation-without-immediate-true)可能會幫助你。 – 2014-09-30 23:34:33