Primefaces“;重置失败“;例子

Primefaces“;重置失败“;例子,primefaces,reset,Primefaces,Reset,Primefaces showcase页面上的文档提供了许多ajax和非ajax重置按钮的示例。其中一个称为“重置失败”,可以找到它。它只需要调用actionListener,将所有相关的支持bean字段设置为null 我尝试了“重置失败”,它似乎可以完成任务。那么,为什么这是一个“失败”的例子,为什么医生说它“行不通” 谢谢 好的,试试这个 在Showcase演示页面的第一个字段中输入“a”,第二个字段中输入“bbb”,然后按“提交”。您将得到一个验证错误 现在按“重置失败”。查看验证失败时第

Primefaces showcase页面上的文档提供了许多ajax和非ajax重置按钮的示例。其中一个称为“重置失败”,可以找到它。它只需要调用actionListener,将所有相关的支持bean字段设置为null

我尝试了“重置失败”,它似乎可以完成任务。那么,为什么这是一个“失败”的例子,为什么医生说它“行不通”

谢谢

好的,试试这个

  • 在Showcase演示页面的第一个字段中输入“a”,第二个字段中输入“bbb”,然后按“提交”。您将得到一个验证错误

  • 现在按“重置失败”。查看验证失败时第一个字段如何仍以红色突出显示

  • 现在按下“重置标签”,您将看到红色突出显示的字段消失


  • 因此,不同之处在于重置失败不会重置验证失败,而重置标记会重置验证失败。

    最后,我使用了
    actionListener=
    resetValues=“true”
    的组合,即:

    <p:commandButton value="Reset" actionListener="#{otb.resetFail}" process="@this" update="@form" resetValues="true" style="margin-left:20px;"/>
    
    
    
    没有actionListener,我的字段无法正确清除。但是需要resetValues属性来绕过验证问题。我从斯坦尔的回答中得到了这个想法


    还有一件事——与PF演示中的示例相反,我的bean的“resetFail”方法只是将字段置零。它不调用
    PrimeFaces.current().resetInputs(“form:panel”)(我没有那个库)。不过,它仍然可以正常工作。

    是的,你说得对,谢谢。我希望有一个备份bean解决方案来重置字段。“p:resetInput”对我不起作用。