我在手風琴面板的選項卡內有一個文本區域,這是一個說明。我正在編輯一個描述並保存它。我正在驗證文本區域,以便最大字符不應超過1000個字符。我正在使用<p:message>
來顯示驗證消息。在實際保存之前,將顯示確認對話框以確認保存。當出現驗證錯誤時,防止確認對話打開
<p:messages showDetail="true" autoUpdate="true" />
<p:accordionPanel dynamic="true">
<p:tab id="_0" title="description">
<p:inputTextarea styleClass="max" id="editDesc1" widgetVar="txtBox" value="#{testBean.description}"
rows="6" cols="150" validatorMessage="#{msg.AddSystem_validationMsg5}" autoResize="false">
<f:validateLength maximum="1000"></f:validateLength>
</p:inputTextarea>
<p:commandButton value="save" oncomplete="saveDialog.show()"/>
<p:confirmDialog message="#{msg.EditSystem_confirmMsg1}" width="200"
showEffect="explode" hideEffect="explode"
header="Confirm" severity="alert" widgetVar="saveDialog">
<p:commandButton value="#{msg.EditSystem_confirmAnswer1}" action="#{testBean.saveEdit}" process="@this" />
<p:commandButton value="#{msg.EditSystem_confirmAnswer2}" onclick="saveDialog.hide()" type="button" />
如果用戶輸入超過1000個字符,並試圖將其保存,然後會出現短時間的確認消息,然後確認對話框彈出,導致驗證消息消失。當出現驗證錯誤時,如何防止確認對話彈出?
這完全破壞了服務器端驗證的目的和功能。這種方法是絕對不推薦的。 – BalusC 2013-03-27 12:05:26
是的,我忘了args.validationFailed,所以我建議,謝謝! – 2013-03-27 14:19:53