1
我有一個具有必需屬性的字段。當我按接受按鈕來保存一些數據而不在該字段中輸入任何值時,會顯示一條錯誤消息。到現在爲止還挺好。 但是,如果之後我決定點擊取消按鈕,該錯誤消息將覆蓋原本應在<p:dialog/>
元素內顯示的確認消息。Primefaces:必填字段消息覆蓋<p:dialog/>消息
注:相反,如果我使用<p:confirmDialog/>
成分,似乎是因爲,我想,它採用了message=""
屬性,沒有<p:messages/>
標籤是沒有問題的。
XHTML
<p:dialog>
<p:outputPanel>
<h:form>
<h:outputText value="Field:"/>
<p:inputText id="field" value="" type="text" required="true" requiredMessage="You must complete the field" />
<p:growl id="messages" showDetail="true"/>
<p:commandButton id="dialogCancel" value="Cancel" oncomplete="confirmCancelDialog.show();" actionListener="#{controller.addCloseWarn}" />
</h:form>
</p:outputPanel>
</p:dialog>
<h:form>
<p:dialog id="confirmCancelDialog" header="Warning!" widgetVar="confirmCancelDialog" modal="true" >
<p:messages id="closeMessage" showDetail="true" autoUpdate="true" />
<p:commandButton id="confirm" value="Accept" onclick="..." />
<p:commandButton id="decline" value="Cancel" onclick="..." />
</p:dialog>
</h:form>
豆控制器
public void addCloseWarn(ActionEvent actionEvent) {
FacesContext.getCurrentInstance().addMessage("closeMessage", new FacesMessage(FacesMessage.SEVERITY_WARN, null,
"Are you sure you want to leave the page?"));
}
你可以發佈xhtml頁面的結構,並在其中輸入字段和按鈕的窗體的位置?這種形式有可能在另一種形式內的對話框? – partlov
@partlov當然。我在那裏編輯了這篇文章。帶有對話框的表單與包含輸入字段的表單分開。 – CountD