Primefaces "reset fail" 示例
Primefaces "reset fail" example
Primefaces 展示页面上的文档提供了一些 ajax 和非 ajax 重置按钮的示例。一个叫做"reset fail",可以找到here。它只涉及调用一个将所有相关的支持 bean 字段设置为 null 的 actionListener。
我尝试了 "reset fail",它似乎可以完成任务。那么为什么它是一个 "fail" 示例,为什么文档说它 "won't work"?
谢谢!
好的试试这个...
在 Showcase 演示页面的第一个字段中输入 "a",在第二个字段中输入 "bbb",然后按 "Submit"。您将收到验证错误。
现在按 "Reset Fail"。看到第一个字段仍然以红色突出显示,因为验证失败了吗?
现在按 "Reset Tag",您将看到红色突出显示的字段消失。
所以区别在于重置失败不会重置验证失败,而重置标签会重置。
最后,actionListener=
和 resetValues="true"
的组合对我有用,即:
<p:commandButton value="Reset" actionListener="#{otb.resetFail}" process="@this" update="@form" resetValues="true" style="margin-left:20px;"/>
没有 actionListener,我的字段无法正确清除。但是需要 resetValues 属性来解决验证问题。我从 this post.
中的 StanL 回答中得到了这个想法
还有一件事 - 与 PF 演示中的示例相反,我的 bean 的 "resetFail" 方法只是清空字段。它不会调用 PrimeFaces.current().resetInputs("form:panel");
(我没有那个库)。尽管如此,它仍然运行良好。
Primefaces 展示页面上的文档提供了一些 ajax 和非 ajax 重置按钮的示例。一个叫做"reset fail",可以找到here。它只涉及调用一个将所有相关的支持 bean 字段设置为 null 的 actionListener。
我尝试了 "reset fail",它似乎可以完成任务。那么为什么它是一个 "fail" 示例,为什么文档说它 "won't work"?
谢谢!
好的试试这个...
在 Showcase 演示页面的第一个字段中输入 "a",在第二个字段中输入 "bbb",然后按 "Submit"。您将收到验证错误。
现在按 "Reset Fail"。看到第一个字段仍然以红色突出显示,因为验证失败了吗?
现在按 "Reset Tag",您将看到红色突出显示的字段消失。
所以区别在于重置失败不会重置验证失败,而重置标签会重置。
最后,actionListener=
和 resetValues="true"
的组合对我有用,即:
<p:commandButton value="Reset" actionListener="#{otb.resetFail}" process="@this" update="@form" resetValues="true" style="margin-left:20px;"/>
没有 actionListener,我的字段无法正确清除。但是需要 resetValues 属性来解决验证问题。我从 this post.
中的 StanL 回答中得到了这个想法还有一件事 - 与 PF 演示中的示例相反,我的 bean 的 "resetFail" 方法只是清空字段。它不会调用 PrimeFaces.current().resetInputs("form:panel");
(我没有那个库)。尽管如此,它仍然运行良好。