0

我有一个我想在表单处理之后但在更新(渲染)之前运行自定义验证功能的地方。如果我使用 oncomplete 显然更新是在验证之前执行的。如果我使用 onclick 则在表单处理之前进行验证,这又不适合我,因为我没有要验证的值。有没有办法在处理之后但在更新之前执行该功能?

<p:commandButton process="@form" update="@form" actionListener="#{bean.method}" oncomplete="validate()"/>
4

1 回答 1

0

在这种情况下,请始终查看文档。具体来说,关于 ajax 相关的 JavaScript 函数<p:commandButton>,文档指出:

  • onstart:在ajax请求开始之前执行的客户端回调;
  • onsuccess: ajax请求成功时执行的客户端回调;
  • oncomplete: ajax 请求完成时执行的客户端回调。

注意有onerror回调:当ajax请求失败时要执行的客户端回调。

正如您从这些摘录中可以理解的那样,回调的连续性正如答案中所呈现的那样。选择适合您需求的那一款。

此外,了解JSF 生命周期是明智的。

于 2013-07-30T20:42:10.483 回答