【问题标题】:p:commandButton doesn't call action on validation errorp:commandButton 不对验证错误调用操作
【发布时间】:2015-09-29 01:58:30
【问题描述】:

所以我有这个取消按钮:

<p:commandButton id="cancelButton" value="Cancel" action="#{myBean.doOnCancel}" onclick="dialogWidget.hide();" />

取消按钮所在的小部件 (&lt;p:dialog&gt;) 有一个日期字段。每次我打开对话框时,输入一些有效值并单击取消 - myBean.doOnCancel 被执行并且对话框被隐藏。 现在,每次我打开对话框时,输入一个无效值,例如单个字母而不是日期,我会收到一条验证消息,指出日期格式错误,然后单击取消 - 对话框被隐藏但方法在操作中定义(@ 987654324@) 未执行。 知道为什么吗?

【问题讨论】:

    标签: validation jsf primefaces cancel-button


    【解决方案1】:

    在处理表单提交过程中出现验证错误时,JSF 将按照规范不调用 action 方法。 &lt;p:commandButton&gt; 默认处理整个表单,如&lt;p:commandButton process="@form"&gt;。您只想将其限制为按钮本身。

    <p:commandButton ... process="@this" />
    

    对话框成功隐藏,因为它在表单提交之前完全在客户端执行,独立于操作方法的结果。

    另见:

    【讨论】:

      猜你喜欢
      • 2015-09-04
      • 2013-09-28
      • 2014-09-17
      • 2013-07-24
      • 1970-01-01
      • 1970-01-01
      • 2017-11-23
      • 2020-10-21
      • 2016-04-13
      相关资源
      最近更新 更多