4

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

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

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

4

1 回答 1

10

只需将该条件直接放在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 事件侦听器。

于 2013-10-31T17:15:43.317 回答