在JSF中检查表单部分的验证错误



我正在构建一个Seam应用程序,它基本上是一个分成不同部分或模块的巨大表单。我需要一种方法来弄清楚什么时候一个模块是"完整的",这意味着该模块中的字段的所有验证通过。然后我需要在视图中做一些事情,设置css-class或其他。

类似:

<a:region id="region1">
    <s:div styleClass="#{invalid ? 'errors' : ''}">
       <h:inputText required="true" id="input1" />
       <h:inputText required="true" id="input2" />
       <h:commandButton value="Save this section" reRender="region1" />
    </s:div>
</a:region>

我想我有两个选择:

  • 使用某种视图逻辑(如单个字段的#{invalid})
  • 使用bean中的方法,在那里我以编程方式获得模块的所有组件,并检查它们是否存在验证错误。

然而,我找不到任何方法来做他们中的任何一个。你知道这有可能吗?

我们使用JSF 1.2和Seam。

谢谢。

您可以使用UIInput#isValid()来检查是否在特定的输入组件上发生了验证错误。

<s:div styleClass="#{!input1.valid or !input2.valid ? 'errors' : ''}">
   <h:inputText binding="#{input1}" required="true" id="input1" />
   <h:inputText binding="#{input2}" required="true" id="input2" />
   <h:commandButton value="Save this section" reRender="region1" />
</s:div>

相关内容

  • 没有找到相关文章

最新更新