2012-04-18 2 views
2

Я использую поляризационные поля и поля p: inputText, которые требуются, я использую глобальные сообщения p: для отображения необходимой информации и рычания только из бокового компонента. Однако при проверке отображаются как сообщения p:, так и сообщения об ошибках p: growl для требуемых полей. Кто-нибудь знает, как отключить сообщения рычания по умолчанию?Удалить сообщения развращения по умолчанию

<p:messages id="messages" autoUpdate="true"/> 
<h:form id="addUser"> 
<p:growl id="newmessage" showDetail="false" globalOnly="true" /> 
<p:inputText id="name" value="#{manageUser.user.name}" required="true" /> 

и в моем бэк-боба

if (uf.checkUsernameAvailability(user.getLogin())) { FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_WARN, "Error", "Username already exists!"));} 

Я не понимаю, почему они продолжают появляться, если они не определены.

ответ

1

p:growl и p:messages по умолчанию отображать все сообщения или глобальные сообщения только в том случае, если атрибут установлен.

Однако оба компонента имеют еще один приятный атрибут redisplay, который вы могли бы использовать. Цитата из taglib documentation:

Определяет, должны ли отображаться уже отображаемые сообщения. По умолчанию true.

Установить это неверно для компонента, который отображает уже оказанные сообщения:

<p:growl id="newmessage" showDetail="false" globalOnly="true" 
     redisplay="false" /> 
+0

Не мог бы вы переместить свой код на свой вопрос (редактирование подключаемого под вопрос)? Трудно читать внутри комментария. –

+0

Я пробовал это, и это не проблема, поскольку на другой странице у меня нет p: growl только p: сообщения и сообщение рычания все еще появляются. – Questionmark

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