我在手风琴面板的选项卡内有一个文本区域,这是一个说明。我正在编辑一个描述并保存它。我正在验证文本区域,以便最大字符不应超过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