p:附加到h:表单的消息

时间:2012-05-15 09:00:15

标签: jsf-2 primefaces

我的页面中有两个表单,第一个处方集是带有验证的输入字段,另一个是dataTable。第一个处方集有一个消息区域来显示验证错误,第二个处方集有一个消息区域来显示数据检索的问题(这个消息区域是从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中的验证消息从未显示

1 个答案:

答案 0 :(得分:2)

for标记的p:message属性说明:

  

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

因此您无法指定表单的ID。您必须指定单个表单组件的ID。例如<p:message id="messageForm1" for="text1" />。但是,您必须为每个表单组件创建一个消息元素。

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