我使用rich:dataTable
用户可以添加新行的地方。其中一行包含两个<h:inputText>
到达和离开时间。当用户继续前进(离开/模糊输入文本)时,应立即验证这些字段。验证效果很好,检测到错误的输入。这里是rich:column
.
<rich:column>
<f:facet name="header">
<h:outputText value="#{txt.detail_itinerary_times}" />
</f:facet>
<h:inputText id="arrivalTime" value="#{stop.arrival}"
validatorMessage="{txt.error_detailview_notatime}" size="5">
<f:validateRegex
pattern="^(([0-9])|([0-1][0-9])|([2][0-3])):(([0-9])|([0-5][0-9]))$" />
<rich:validator />
</h:inputText>
<h:inputText id="departureTime" value="#{stop.departure}"
validatorMessage="#{txt.error_detailview_notatime}" size="5">
<f:validateRegex
pattern="^(([0-9])|([0-1][0-9])|([2][0-3])):(([0-9])|([0-5][0-9]))$" />
<rich:validator />
</h:inputText>
<rich:message for="arrivalTime departureTime" />
问题来了:如果这个数据表中有 20 行,而您输入了一个错误的时间,则验证失败消息会显示 20 次,对于每一行,对于每个输入字段。但它应该只显示在输入错误时间的输入字段中。
以下是讨论的一些类似问题。不幸的是,我无法加入这些线程并添加评论(分数不够?)。所以,很抱歉为可能已经回答的问题打开一个新线程。