我有編輯某個實體的頁面。該頁面有兩個命令按鈕。一個是「返回」,一個是「保存」,也是在那個頁面上,我有輸入字段(idInputSubject)。其中一些是必需的,有些則不是。忽略命令按鈕上的驗證按
如何確保我們按下「返回」按鈕(取消編輯並返回)驗證將被忽略,現在不是這種情況。現在,當我按下「返回」或「保存」按鈕時,如果我沒有使用正確的值(idInputSubject)填充所需的字段,驗證的消息就會出現。
兩個 「後退」 和 「保存」 按鈕以相同的形式:
<h:form id="idFormMeasureDetail" styleClass="bodyForm" prependId="false">
...
<p:commandButton value="#{contentMB.msg.label_back.value}"
action="#{chooseMeasureControllerMB.aSearch}"
rendered="#{detailMeasureMB.navigation eq 0}" ajax="false"
icon="ui-icon-arrowreturnthick-1-w"/>
<p:commandButton value="#{contentMB.msg.button_save.value}" ajax="false"
icon="ui-icon-disk" actionListener="#{detailMeasureControllerMB.alApplyChanges}"
title="#{contentMB.msg.tip_Apply.value}" />
...
<p:inputTextarea id="idInputSubject" value="#{detailMeasureMB.measure.aufgabe}"
readonly="#{!userSessionMB.supervisor and !detailMeasureMB.isCreator}"
required="#{globalSessionMB.globalWebOptionsMap['MMRequiredSubject'].propvalue}"
title="#{contentMB.msg.tip_Betreff.value}"
autoResize="false" style="width:100%;" >
</p:inputTextarea>
<p:message id="inputSubjectMsg" for="idInputSubject" display="icon" />
...
</h:form>
ChooseMeasureControllerMB:
@ManagedBean(name = "chooseMeasureControllerMB")
@RequestScoped
public class ChooseMeasureControllerMB extends BaseMeasureControllerMB {
...
public String aSearch() {
...
// navigate to target-page
return "/pages/mm/showMeasuresList.xhtml?faces-redirect=true";
}
...
}
你應該解釋它爲什麼起作用 – 2016-02-10 17:39:49