Dúvida sobre <h:message />

Opa :smiley:

Na minha app é feito um tratamento de validação de determinado campo e queria enviar uma msg para um h:message que eu referenciei a este campo:

<a4j:region>
	<h:inputText value="#{regional.regionalBean.codigo}" styleClass="frmText" size="10" maxlength="6" 
	onkeypress="mask(this,onlyNum);" disabled="#{regional.desabilitarCampos}" id="regionalCodigo">
	<a4j:support event="onblur" action="#{regional.validarCodigo}"></a4j:support>
	</h:inputText>
</a4j:region>
<h:message for="regionalCodigo" id="mensagemErroCodigo" />

Alguém sabe como que eu faço um FacesContext.getCurrentInstance().addMessage(“formulario”, new FacesMessage(“Codigo Inválido”)); para cair naquele h:message?

[]'s

VC nem pos o required=“true” no seu inputText.

Acredito que seja isso.

t+

Não coloquei pq eu já criei o método no meu managedbean e será ali que vou validar o campo pq nem sempre ele é obrigatório

E mais uma vez, eu pergunto uma coisa e vc responde uma outra nada a ver :smiley:

Seria uma falta de interpretação de texto?

[]'s

[quote=davidpadilha]Não coloquei pq eu já criei o método no meu managedbean e será ali que vou validar o campo pq nem sempre ele é obrigatório

E mais uma vez, eu pergunto uma coisa e vc responde uma outra nada a ver :smiley:

Seria uma falta de interpretação de texto?

[]'s[/quote]

Não sei, mas não se preocupe que não responderei suas mensagens novamente.

Bastante elegante vc!

até!

Você pode colocar o atributo validator na tag do inputText e validar e mandar a mensagem neste método

<h:inputText ... validator="#{bean.valida}"/>

public void valida( FacesContext context, UIComponent componente, Object value ) { FacesMessage m = new FacesMessage( "Mensagem de erro" ); m.setSeverity( FacesMessage.SEVERITY_ERROR ); context.addMessage( componente.getClientId( context ), m ); ( (UIInput) componente ).setValid( false ); }

Se você estiver realizando esta validação via ajax eu recomendo que use o rich:message em vez do h:message.