Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Estou com dúvida no curso de JSF 2: simplicidade e produtividade na Web, no exercício do capítulo Conversão e validação de dados.

No caso do validadeDoubleRange consigo colocar o máximo e mínimo, mas é possível criar mensagens personalizadas sem usar o validatorMessage? Por exemplo criar um método e verificar o valor e dependendo deste valor retornar uma mensagem de erro especifico.

1 resposta
solução!

Oi William,

é possível sim, mas vc deve redefinir as mensagens padrão do JSF dentro de um arquivo de propriedades.

Para tal define um bundle (arquivo de mensagens) no faces-config.xml:

<application>
  <resource-bundle>
     <base-name>Resources</base-name>
     <var>bundle</var>
 </resource-bundle>
</application>

Depois crie um arquivo Resources.properties na pasta src da sua aplicação.

Nesse arquivo você deve rescrever a mensagem do seu componente. Uma lista completa de todas as mensagens se encontra aqui: Mensagens (as mensagens padrão começam com javax.faces)

Por exemplo, para definir a mensagem do componente validadeDoubleRange (minimum) adicione dentro do Resources.properties:

javax.faces.validator.DoubleRangeValidator.MINIMUM = {1}: Erro de validação: Valor não deve ser menor do que  ''{0}''

Abraços