jsf - 跳过所需的验证并调用应用程序

标签 jsf jsf-2

我问了我的问题here但我认为它缺乏一些明显的信息。因此,我再次发布我的问题。

我有一个 JSF 表单,它对 h:inputText 字段进行了一些必需的验证。提交表单时,我想跳过(或忽略)所需的验证检查并仍然调用应用程序。我确实想做表单数据验证并根据某些条件显示错误。

基本上,我想在使用 ajax 调用提交表单时跳过验证并调用应用程序,并在通过单击提交按钮提交表单时进行验证。

最佳答案

把这个条件直接放在 required属性。

<h:inputText ... required="#{someCondition}" />

它即只接受任何 EL 表达式,就像许多其他属性一样。许多初学者认为您只能硬编码 "true""false"串在里面。这是不真实的。

例如,当你想让它计算 true仅当实际按下保存按钮时:
<h:inputText ... required="#{not empty param[save.clientId]}" />
...
<h:commandButton value="Cancel" ... />
<h:commandButton binding="#{save}" value="Save" ... />

(注意:代码按原样完成,您需要 而不是 需要将其绑定(bind)到 bean 属性)

这样 required属性只计算 true当按下保存按钮并计算 false对于任何其他按钮或 ajax 事件监听器。

关于jsf - 跳过所需的验证并调用应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19712743/

相关文章:

jsf - 在 CDI bean 的非请求环境中获取 JSF ServletContext

jsf - 如何从 ActionEvent 对象获取组件值?

jsf-2 - 渲染 selectManyCheckbox 而不使用 HTML 表

java - 选择在扩展数据表、RichFaces 4 + JSF 2.0 中不起作用

jsf - org.jboss.weld.exceptions.WeldException : WELD-000049: Unable to invoke private void init()

hibernate - com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException : Unknown column 'USER_NAME' in 'where clause' - container managed authentication

java - 如何防止在使用页面上的任何按钮时触发 rowSelector 的 clickAction 方法?

file-upload - 更改<p :fileUpload mode ="simple">的默认按钮标签

java - 新行,双引号在 json 数据中给出错误

validation - 如何制作 p :messages keep messages until errors are fixed