我有一个JSF2应用程序,它使用<ui:repeat />
来呈现多个文本框,每个文本框链接到集合中的项目。我需要在单个<h:messages />
标记中显示输入后的错误消息。用于重复输入的JSF消息
同时,我有<ui:repeat />
标签,其 应该有错误消息之外的一些其他必填字段旁边它们的输入,因此,它们将有一个相应的<h:message />
标签。这里的问题在于,每次我触发外部字段的验证时,其消息也会出现在<ui:repeat />
的<h:messages />
标记中。
下面是代码:
<table cellpadding="0" cellspacing="0" width="100%">
<tr>
<td><h:outputLabel value="Items"/></td>
<td>
<ui:repeat var="i" value="#{itemsBean.itemsCount}" id="items">
<h:inputText id="itemTitle" value="#{itemsBean.items[i]}" required="true" />
<h:panelGroup layout="block" styleClass="clear" rendered="#{((i+1) % 10 == 0)}" />
</ui:repeat>
<h:messages id="itemsMessages" showDetail="false" showSummary="true" styleClass="error_list" />
</td>
<td><h:outputLabel value="Required Field" /></td>
<td>
<h:inputText id="requiredField" value="#{itemsBean.requiredField}" />
<h:message for="requiredField" showDetail="false" showSummary="true" styleClass="error_list" />
</td>
</tr>
</table>
我知道,这是JSF的方式验证工作,但我需要防止出现重复项验证摘要外部输入的信息。 在此先感谢。
你有没有解决过这个问题? – edhedges
@edhedges,恐怕不是。我已经使用了一种解决方法,将消息移出 并设置消息服务器端 –