我在这里问了我的问题,但我认为它缺少一些明显的信息。因此,我再次发布我的问题。
我有一个 JSF 表单,它对 h:inputText 字段进行了一些必需的验证。提交表单时,我想跳过(或忽略)所需的验证检查并仍然调用应用程序。我确实想做表单数据验证并根据某些条件显示错误。
基本上,我想在使用 ajax 调用提交表单时跳过验证并调用应用程序,并在通过单击提交按钮提交表单时进行验证。
只需将该条件直接放在required
属性中即可。
<h:inputText ... required="#{someCondition}" />
它即只接受任何 EL 表达式,就像许多其他属性一样。许多初学者认为您只能在其中硬编码 a"true"
或"false"
字符串。这是不真实的。
例如,当您想让它true
仅在实际按下保存按钮时进行评估时:
<h:inputText ... required="#{not empty param[save.clientId]}" />
...
<h:commandButton value="Cancel" ... />
<h:commandButton binding="#{save}" value="Save" ... />
(注意:代码是完整的,您不需要将它绑定到 bean 属性)
这样,该required
属性仅true
在按下保存按钮时评估,它评估false
任何其他按钮或 ajax 事件侦听器。