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

时间:2013-10-31 17:11:33

标签: jsf jsf-2

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

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

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

1 个答案:

答案 0 :(得分:10)

只需将 条件直接放在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" ... />

(注意:代码是完整的,你需要将它绑定到bean属性)

这样,required属性仅在按下保存按钮时评估true,并为任何其他按钮或ajax事件监听器评估false