10

我正在使用 JSF2、Richfaces4 和 Spring。我有一个命令链接。在执行时我保存记录并在完成时执行搜索以显示如下代码所示的记录。问题是fireSearch()即使表单中存在验证错误,oncomplete 也会执行。我fireSearch()只需要在记录成功保存时执行。

仅当验证成功时,我如何才能完成?

<a4j:commandLink styleClass="button" action="#{myBean.save}" render="detail_form" execute="@form" oncomplete="fireSearch()">
<span> Save </span>
</a4j:commandLink>
4

1 回答 1

19

oncompleteRichFaces 在属性中支持基于请求的 EL 评估。所以你应该能够FacesContext#isValidationFailed()像 JS 条件一样打印。

例如,

oncomplete="if (#{!facesContext.validationFailed}) fireSearch()"

如果验证失败,这将最终导致

oncomplete="if (false) fireSearch()"

因此不会调用该函数。

于 2012-05-28T03:49:37.563 回答