no arquivo
com.br.abet.componentelogin.common.messages.messages
coloque os seguintes atributos: #---- Config Geral de Erros Padrao do JSF #-- Campo obrigatório
javax.faces.component.UIInput.REQUIRED=digita a msg aqui #-- Valor especificado não esta entre os valores
javax.faces.validator.NOT_IN_RANGE=digita a msg aqui #-- Valor nao é numerico
javax.faces.validator.DoubleRangeValida-tor.TYPE=digita a msg aqui #-- Valor nao é numerico
javax.faces.validator.LongRangeValida-tor.TYPE=digita a msg aqui #-- Valor tem que ser numerico
javax.faces.component.UIInput.CONVERSION=digita a msg aqui
A
alberto_ribeiro
Bruno muito Obrigado por essas dicas, por exemplo e se eu quiser especificar mais de um REQUIRED como eu faço, porque posso ter senha e usuario e os dois são obrigatórios e com msg diferente especificando o campo que é obrigatorio…
e como colocar na pagina porque eu tenho assim e ele chama o required e se eu quiser chamar o de range em outro campo e não for required ?
Se o layout do seu formulário permitir, você pode colocar uma tag h:message para cada campo. Quando houver erros, todas as mensagens serão exibidas ao lado de onde o erro ocorreu.
Se o layout é mais “apertado”, você pode exibir as mensagens de erro embaixo da tela, e um marcador (asterisco por exemplo) ao lado dos campos que deram erro. (Se precisar de ajuda para fazer isso é só dizer)
A
alberto_ribeiro
então eu fiz assim acho que ficou legal:
publicStringautenticaUsuario(){Stringresultado="";if(validaCampos()){if("admin".equals(usuario)&&"admin".equals(senha)){resultado="sucessoNaAutenticacao";}else{FacesContext.getCurrentInstance().addMessage("invalido",newFacesMessage("* Usuario e/ou Senha Incorretos!"));resultado="falhaNaAutenticacao";}}returnresultado;}privatebooleanvalidaCampos(){booleanestaVazio=true;if("".equals(usuario)){FacesContext.getCurrentInstance().addMessage("invalido",newFacesMessage("* O Campo Usuário deve ser preenchido."));returnfalse;}elseif("".equals(senha)){FacesContext.getCurrentInstance().addMessage("invalido",newFacesMessage("* O Campo Senha deve ser preenchido."));returnfalse;}returnestaVazio;}enapáginaassim:<t:messageslayout="table"styleClass="fonteDeErros"/>
Uma ultima pergunta o que vem a ser este primeiro parametro passado dentro addMessage, eu tenho com pegar ele depois na página ?
[]'s e obrigado
G
gomesrod
Este primeiro parametro é o id do componente a que se refere o erro.
Só relembrando: Você pode ter uma tag <h:messages> que mostra todas as mensagens, ou uma tag <h:message> para cada componente da página.
Ou seja, voce usa esse primeiro parametro do addMessage se desejar que a mensagem apareça na tag <h:message> de um componente específico.
(OBS: Eu nunca testei essa situação de adicionar mensagem informando o id do componente, só vi pela documentação).
D
dahenz
Estava olhando os posts desse tópico… que muito me ajudou… mas estou com um problema na hora de visualizar a mensagem na minha tela de login… fiz o que o gamesrod falou, mas apenas aparece uma mensagem default como segue: Erro de validação.
Como faço para mostrar a mensagem adicionada no FacesMessage???
Obrigado…
M
marcusviniciusaso
Tópico extremamente antigo, mas resolvi postar uma solução que acho mais simples
Se você colocar no arquivo .properties:
“javax.faces.component.UIInput.REQUIRED=Campo {0} é Obrigatório!”
basta colocar um atributo label no seu input, informar um nome amigável que você quer que apareça na mensagem e configurar o input como obrigatório(required=“true”) e pronto. O que está no label será colocado no lugar de {0}. Agora é só deixar o restante com o JSF e ir tomar um café :lol:
Fica com Deus.
P
Polverini
pq nao usar beanValidation ?
M
marcusviniciusaso
Polverini,
Como você sabe, existem n formas de se fazer validação. Coloquei no post anterior o que eu acho mais simples para se utilizar o required e exibir mensagens dinamicamente. É uma validação sem alterar as entities, só alterando as views e adicionando um arquivo properties para as mensagens(caso já não exista). Mas nada impede que seja utilizado BeanValidation. Aliás, acho BeanValidation bem bacana. Dá para fazer algumas coisas mais complexas, assim como criar padrões e anotações para validar diversos campos com validações customizáveis.