【发布时间】:2012-08-28 15:31:30
【问题描述】:
我有一个包含很多字段的表单。 我需要知道是否有错误。 但用户可以根据需要保存有错误的数据。
我使用 JSF,我问我是否有一种简单的方法可以跳过验证。 有关信息,包含所有字段的表单都包装在一个组合中。
【问题讨论】:
标签: jsf-2
我有一个包含很多字段的表单。 我需要知道是否有错误。 但用户可以根据需要保存有错误的数据。
我使用 JSF,我问我是否有一种简单的方法可以跳过验证。 有关信息,包含所有字段的表单都包装在一个组合中。
【问题讨论】:
标签: jsf-2
您可以通过向 h:commandButton 或 h:commandLink 添加属性 immediate="true" 来跳过验证。
<h:form>
<h:inputText value="#{someBean.input}"/>
//other input fields
<h:commandButton action="#{someBean.invoke}" value="Go" immediate="true"/>
</h:form>
在这种情况下,即使存在验证错误也会发生导航。
【讨论】:
您可以编写一个验证器(不是 jsf 验证器),它会验证数据并将错误添加到 faces 消息中,在 action 方法中调用此验证器。
我想这会实现你的目标,但 JSF 自己的验证器使用不会有帮助。
希望这会有所帮助!!!!
【讨论】:
最后,我完成了RequiredValidator(和其他)的重载,并为每个按钮[Save with error] 和[Save] 传递了一个参数。如果单击带有错误的保存按钮,则我的自定义验证器将跳过验证。转换错误可能是一个问题。所以我的 managedBean 中的所有字段都是字符串。 如果我期望一个整数,我也会为此编写一个自定义验证器。
有点重,但很管用。
【讨论】: