PrimeFaces禁用取消按钮上的验证[重复]

Posted

技术标签:

【中文标题】PrimeFaces禁用取消按钮上的验证[重复]【英文标题】:PrimeFaces disable validation on cancel button [duplicate] 【发布时间】:2013-02-04 04:31:39 【问题描述】:

在一个表单中,我有一些带有两个 commandButton 的 inputText,一个到 accept,一个到 cancel

如何仅禁用对取消按钮的验证?

<h:form id="detailsForm">
  <p:inputText id="editUsername" value="#userController.editUser.usrUsername" />
  <p:inputText id="editFirstName" value="#userController.editUser.usrFirstName" />
  <p:inputText id="editLastName" value="#userController.editUser.usrLastName" />
  <p:commandButton value="Accept" update=":detailsForm" actionListener="#userController.onDetailsEditAccept" />
  <p:commandButton value="Cancel" update=":detailsForm" actionListener="#userController.onDetailsEditCancel" />
</h:form>

我已经尝试在字段上插入required="false",但它不起作用。 我还尝试在字段上插入&lt;f:validateBean disabled="true" /&gt;,但没有成功。

【问题讨论】:

【参考方案1】:

在您的取消commandButton 中使用属性immediate="true"。通过跳过应用请求值流程验证更新模型值阶段,这将跳过表单的整个处理过程。 p>

<p:commandButton value="Cancel" update=":detailsForm" actionListener="#userController.onDetailsEditCancel" immediate="true"/>

【讨论】:

【参考方案2】:

在“取消”按钮中使用属性process="@this"。这将阻止提交整个表单。

或者您可以使用p:button 代替(但是它没有actionListener 属性)。见this other Q/A

【讨论】:

【参考方案3】:

如果您不想提交表单。您应该只使用&lt;p:button&gt;&lt;p:commandButton&gt; 提交表单。

<p:button value="delete All"
action="#reloadBean.purge" update="@form"/>

【讨论】:

你为什么要重复已经给出的答案并包含不相关的属性? 这对我有用,所以我想分享我的例子。对不起,如果我不能正确使用论坛 投票选出对你有用的答案。

以上是关于PrimeFaces禁用取消按钮上的验证[重复]的主要内容,如果未能解决你的问题,请参考以下文章

PrimeFaces上传组件中是否有取消按钮的bean事件?

如果在primefaces中禁用复选框值,则该值将为false

在tabview中的scrollpanel上的PrimeFaces按钮

p:photocam禁用警告

UISearchController禁用取消按钮[重复]

Primefaces:如何更改日历字段按钮上的默认图标?