Bom dia pessoal, tudo Belezinha??
Entao seguinte, estou com um problema com o primefaces e suas mensagens
Em um formulario tenho p:messages e p:message e ainda por cima esse formulario esta em um p:dialog e fora desse p:dialog tem outro p:messages
Vamos exemplificar
<ui:composition template="/templates/content_template.xhtml">
<ui:define name="content_page">
<p:messages id="mensagemCrud" showDetail="true" autoUpdate="true" closable="true" />
//Outros componentes
<p:dialog id="modalDialogForm" header="#{recursos.titulo_editar}" widgetVar="formDialog"
height="400" width="600">
<p:messages id="mensagemDialogForm" showDetail="true" autoUpdate="true" closable="true" />
<h:form id="formForm" prependId="false">
<h:panelGrid id="display" columns="2" cellpadding="4" style="margin:0 auto;">
<ui:insert name="form_fields_part">
</ui:insert>
</h:panelGrid>
<p:commandButton id="btnSave" immediate="true"
actionListener="#{controller.save}" value="#{recursos.salvar}"
update=":gridForm:dataTable, display" />
<p:commandButton id="btnFechar" onclick="formDialog.hide();" value="#{recursos.fechar}" />
</h:form>
</p:dialog>
</ui:define>
</ui:composition>
Esse é meu template dentro de outro xhtml tenho o seguinte
<ui:define name="form_fields_part">
<!--m:textfield label="#{recursos.nome_fantasia}" fieldId="nomeFantasiaForm" value="#{controller.empresa.nomeFantasia}" /-->
<p:inputText id="nomeFantasiaForm" value="#{controller.empresa.nomeFantasia}" required="true"/>
<p:message id="nomeFantasiaFormMessage"
for="nomeFantasiaForm" display="icon" />
</ui:define>
</ui:composition>
Pois então, qnd eu executo no controller uma mensagem da seguinte maneira
FacesMessage facesMessage = new FacesMessage(severity, "", mensagem);
FacesContext.getCurrentInstance().addMessage(clientId, facesMessage);
Onde clientId é nomeFantasiaForm, a minha mensagem aparece em todos os componentes, tem como apenas limitar ao componente que estou definindo?