Bom dia pessoal, algume poderia me dar uma ajuda sobre criar um metodo para exibir uma mensagem de erro para o usuario.
tipo no caso de ele não preencher um certo campo.
publicvoidvalidaJustificativa(FacesContextcontext,UIComponentcomponent,Objectobject){Stringjustificativa=object.toString();if(justificativa==null){//throw new ValidatorException(new FacesMessage("invalido"));((UIInput)component).setValid(false);FacesMessagemessage=newFacesMessage("campo obrigatorio");context.addMessage(component.getClientId(context),message);}}
Amigo onde eu coloco isso ai? no metodo que o commandButton chama?
euprogramador
Sim,
por exemplo você tem o seguinte código de managed Bean
publicclassClientesMB{Clientecliente;RepositorioClienteclientes;publicvoidsalvar(){if("".equals(cliente.getNome())){FacesMessages.instance().add(FacesMessage.SEVERITY_ERROR,"Preencha o nome do cliente");return;}repositorioClientes.salvar(cliente);}}
você validou que o nome tem de ser preenchido senão não salva entende?
S
santos.levi
Voce quem criou essa FaceMessages? porque eu chamo fala que não existe.
euprogramador
desculpe, é que uso o seam e ele faz o tratamento de mensagens, para JSF puro faz assim
FacesContext.getCurrentInstance().addMessage("iddocampojsf", new FacesMessage(FacesMessage.SEVERITY_ERROR, "sumário da mensagem", "detalhe da mensagem"));
usa isto no lugar do
FacesMessages.instance().add(FacesMessage.SEVERITY_ERROR, "Preencha o nome do cliente");
S
santos.levi
Ai estou tentando aqui mais da essa mensagem
justificativa: Validation Error: Value is less than allowable minimum of ‘15’