0

我的页面中有两个表单,第一个公式是带有验证的输入字段,另一个是数据表。第一个公式有一个显示验证错误的消息区域,第二个公式有一个显示数据检索问题的消息区域(这个消息区域是从 myController.search 更新的):

    <h:form id="form1">
        <p:message id="messageForm1" for=":form1" />
        <p:inputText id="text1" value="#{myBean.data}" required="true" />
                    ....
        <p:commandButton value="Search" actionListener"#{myController.search}"
            update=":form2:dataTable :form2:messageForm2 :form1:messageForm1" process="text1, ..." />
    </h:form>

    <h:form id="form2">
        <p:message id="messageForm2" for="messageForm2" />
        <p:dataTable>
        ...
        </p:dataTable>
    </h:form>

问题是 form2 中的消息正在工作,但 form1 中的验证消息从未显示

4

1 回答 1

2

标签for属性的描述说:p:message

要显示其消息的组件的 ID。

所以你不能指定表单的ID。您必须指定单个表单组件的 ID。例如<p:message id="messageForm1" for="text1" />。但是您必须为每个表单组件创建一个消息元素。

另一种方法是使用p:messages标签。有关示例,请参见此处: http: //www.primefaces.org/showcase-labs/ui/messages.jsf

于 2012-05-15T10:20:38.140 回答