2012-05-15 3 views
0

У меня есть две формы на моей странице, в первом формуляре есть поля ввода с валидацией, а в другом - данные. Первый Формализованный имеет площадь, чтобы показать сообщение ошибки проверки, а вторые Формализованные имеет площадь сообщения, чтобы показать проблемы с извлечением данных (эта область будет обновлена ​​сообщение от myController.search) .:p: сообщение, прикрепленное к h: form

<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 никогда не показываются

+0

Почему у вас есть двоеточие в первом ''? Это опечатка? –

+0

нет, я просто хотел ссылаться на абсолютный путь к формуляру –

ответ

2

описание атрибута p:message тега for говорит:

Идентификатор компонента, сообщения для отображения ,

Таким образом, вы не можете указать ID формы. Вы должны указать идентификатор одного компонента формы. например <p:message id="messageForm1" for="text1" />. Но тогда вам нужно создать один элемент сообщения для каждого компонента формы.

Альтернативой может быть использование тега p:messages. Примеры см. Здесь: http://www.primefaces.org/showcase-labs/ui/messages.jsf

+0

Спасибо за информацию. Об использовании сообщений проблема заключается в том, что когда у меня есть ошибка во втором формуляре, я получаю ошибку в обоих компонентах сообщения –

+0

Я также нашел учебник http://www.javaranch.com/journal/2004/04/JSF_Part1 .html, где они используют ah: message for = "formulary", поэтому он должен работать –

Смежные вопросы