我有jsfunction
<a4j:jsFunction action="#{myBean.action}"
data="#{myBean.data}" render="@form" execute="@form" name="openConfirm"
onbeforedomupdate="openConfirmDialog(event.data);"></a4j:jsFunction>
Run Code Online (Sandbox Code Playgroud)
我需要打开一个确认对话框(在 onbeforedomupdate 上,这有效..但是打开所有调用的对话框)我真的需要只有在验证 jsf 提交时才打开对话框表单。验证错误显示表单未验证的时间。
在脚本中识别 JSF 循环是否返回验证错误的最佳方法是什么?
我需要类似于 onbeforedomupdate="if (event.validationError==false)showDialog();"
多谢,
您可以像这样检查错误
if (#{facesContext.maximumSeverity == null}) { openConfirmDialog(event.data); }
Run Code Online (Sandbox Code Playgroud)
如果您有超过 1 种类型的消息(错误、警告、信息),您可以使用
if (#{empty facesContext.messageList}) { openConfirmDialog(event.data); }
Run Code Online (Sandbox Code Playgroud)
用于在显示对话框之前检查验证消息。
用法示例oncomplete
:
oncomplete="if (#{facesContext.maximumSeverity == null}) {#{rich:component('popup')}.show();}"
Run Code Online (Sandbox Code Playgroud)
如果您想对警告和错误做出反应,但不想对信息消息做出反应,请使用
oncomplete="if(#{facesContext.maximumSeverity.ordinal gt 0}) {#{rich:component('popup')}.show();}"
Run Code Online (Sandbox Code Playgroud)
关于最后一个案例的附加信息在这里。