如何检查JSF UIComponent在jsp文件中是否有效?

时间:2010-07-02 06:34:42

标签: jsp jsf validation rendered-attribute

在jsp文件中,有没有办法在该页面上查找组件并检查该组件是否有效。

假设我有一个输入字段,以及一个带有复杂html的panelGroup,如果在输入字段上验证失败,则应显示该字段。我真正想要的是panelGroup上渲染属性的EL表达式。

我尝试使用自定义验证器功能,并在此处将panelGroups渲染值设置为true。但是它在必填字段上失败,因为当该字段为空时,自定义验证器函数从未运行。

现在我完全避免了常规验证并使用一些相当丑陋的代码来验证提交中的所有内容。然后将结果存储在很多实例布尔值中,这些布尔值用于在panelGroups中呈现。

非常感谢任何帮助

1 个答案:

答案 0 :(得分:4)

您可以使用UIInput#isValid()

这是一个启动示例:

<h:form>
    <h:inputText binding="#{input}" value="#{bean.input}" required="true" />
    <h:commandButton value="submit" action="#{bean.submit}" />
    <h:messages />
</h:form>
<h:outputText value="input is not valid!" rendered="#{!input.valid}" />

请注意,您在binding属性中使用的名称不应与任何请求范围的属性/ bean的名称冲突。