2011-11-14 71 views
1

我有一個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的方式驗證工作,但我需要防止出現重複項驗證摘要外部輸入的信息。 在此先感謝。

+0

你有沒有解決過這個問題? – edhedges

+1

@edhedges,恐怕不是。我已經使用了一種解決方法,將消息移出並設置消息服務器端 –

回答

0

嘗試<h:messages id="itemsMessages" showDetail="false" showSummary="true" styleClass="error_list" globalOnly="true"/>

這將導致部件只顯示從消息組件的消息,沒有爲屬性集。

+0

我試過了,但現在沒有出現「」輸入消息。 –