簡體   English   中英

如何顯示h:dataTable中每個h:inputText的錯誤消息?

[英]How do I display error message for each h:inputText inside h:dataTable?

對於h:dataTable中的每個h:inputText驗證失敗后,我需要顯示錯誤消息。 這是代碼:

<h:dataTable value="#{myBean.dataList}" var="dataItem">

<h:column>
    <f:facet name="header">
        <h:outputText value="Name" />
    </f:facet>
    <h:inputText id="name" value="#{dataItem.name}" />
</h:column>

<h:column>
    <f:facet name="header">
        <h:outputText value="Value" />
    </f:facet>
    <h:inputText id="value" value="#{dataItem.value}" />
</h:column>
</h:dataTable>

當我嘗試放:

<h:inputText id="name" value="#{dataItem.name}" />
<h:message for="name"/>

它返回:

Caused by: java.lang.NullPointerException   
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.augmentIdReference(HtmlBasicRenderer.java:196)

嘗試以下方法。

<h:column>
      <f:facet name="header">
          <h:outputText value="Name" />
      </f:facet>
      <h:inputText id="name" value="#{dataItem.name}" required="true" requiredMessage="Mandatory"/>              

     <h:message for="name" id="msg"/>

</h:column>

您尚未將<h:message></h:message>綁定到<h:inputText></h:inputText> 我只是將<h:inputText></h:inputText>設置為必填字段。 您可能需要在需要時根據需要使用一些驗證器

您似乎使用的Mojarra 1.2版本低於1.2_14。 這稱為問題941 ,已在1.2_14中修復。 當前最新的Mojarra 1.2是1.2_15。 您可以在這里 下載 替換jsf-api.jarjsf-impl.jar ,您應該都准備jsf-impl.jar 順便說一句,您的代碼很好。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM