Personalizar Mensagens Validator JSF - LongRangeValidator

Galera, fiz uma página que utiliza alguns validadores padrões. Quero alterar as mensagens de erro de validação. Para os Length’s ta funcionando belezinha, porém para o Long ou Double Range Validator não está funcionando, aparece a mensagem de erro que o próprio JSF traz. O código segue abaixo. Help please. vlw…

testeValidacao.xhtml


<f:view>
		<h:form>
			<h:panelGrid columns="3" border="0" >
				
			
				<h:outputLabel for="nome" value="Nome"/>
				<h:inputText id="nome" value="#{testeMB.nome}" required="true">
					<f:validateLength minimum="10" maximum="30" />
				</h:inputText>
				<h:message for="nome" />
			
			
				<h:outputLabel for="salario" value="Salario"/>
				<h:inputText id="salario" value="#{testeMB.salario}">
					<f:validateDoubleRange  minimum="250" maximum="30000"/>
				</h:inputText>
				<h:message for="salario" />
		
			
				<h:outputLabel for="idade" value="Idade"/>
				<h:inputText id="idade" value="#{testeMB.idade}">
					<f:validateDoubleRange maximum="99" minimum="6"/>
				</h:inputText>
				<h:message for="idade" />
				<h:commandButton action="#{testeMB.salvar}" value="Salvar" />
				
			</h:panelGrid>
		</h:form>
	</f:view>

Mensagens.properties

javax.faces.component.UIInput.REQUIRED=Erro de Valida\u00E7\u00E3o\: \u00C9 obrigat\u00F3rio o fornecimento de um valor
javax.faces.validator.LengthValidator.MINIMUM=O tamanho do texto deve estar entre {0}
javax.faces.validator.LengthValidator.MAXIMUM=O tamanho do valor digitado \u00E9 maior que o permitido de {0} caracteres
javax.faces.validator.DoubleRangeValidator.MAXIMUM=Valor digitado maior que o permitido
javax.faces.validator.DoubleRangeValidator.MINIMUM=Valor menor que o permitido

faces-config.xml

 <application>
  <view-handler>com.sun.facelets.FaceletViewHandler</view-handler>
  <message-bundle>br.com.jsf.Mensagens</message-bundle>
 </application>

http://www.guj.com.br/posts/list/71718.java

tah, isso foi feito usando um método de um MB para validação, mas eu quero fazer sem método, direto pelo próprio Maximum e Minimum…tem como???

ninguem tem idéia?

Resolveu? Posta aí!
Meu problema é IDÊNTICO!

[]'s

Descobri!
Vc só tem isso que remete range no seu properties (default)

javax.faces.validator.NOT_IN_RANGE

Troque por isso:
javax.faces.validator.DoubleRangeValidator.NOT_IN_RANGE

Note que devemos especificar o nome da Classe que vamos utilizar DoubleRangeValidator
Essa é uma forma de padronizar o StringResource utilizado pelo JSF.

:smiley:

[]'s

No seu caso é Long! =D

A msg padrão que exibia na tela, correspondia ao properties padrão que existe no seu jar =D

[]'s

Agora… bom mesmo seria se desse p pegar o label correspondente do input (por exemplo) e mostrá-lo na msg!!
Alguém sabe??

[]'s

O valor nao sei mas da pra usar o label e os valores setados como minimo e maximo tem:

javax.faces.validator.DoubleRangeValidator.NOT_IN_RANGE = O valor digitado no campo {2} deve ser um número entre {0} e {1}.

o {2} tem o label da caixa.

Para mais detalhes veja o link:
http://java.sun.com/javaee/javaserverfaces/1.2/docs/api/constant-values.html
Procure pela constante que vc quer usar e tera um link para ver mais informações sobre como usa-la.

Espero ter ajudado.

Ajudou sim!
Mas “{2}” não é o id (por exemplo) do input???

Aparece algo do tipo:

idForm:idComponent

Eu queria do label correspondente ao componente!

Nome(label)
input (component que receberá o valor)

[]'s

Mas de fato é isso que entende-se no link que me passou:

{2} replaced by a String whose value is the label of the input component that produced this message.

[]'s

então no campo input vc tem uma propriedade label nela vc seta o nome que deve aparecer, se vc nao seta aparece esta mensagem.

Era isso mesmo! Eu havia conseguido antes, agora que vim postar o resultado…voilá! rs
De qq forma muito obrigado vi-gb , foi de grande ajuda.

[]'s