我需要在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)
答案 0 :(得分:1)
请尝试以下操作。
<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>
成为必填字段。您可能需要在需要时使用一些验证器以满足您的要求。
答案 1 :(得分:0)