Problema com <h:messages> [JSF]

5 respostas
colored

Bom To Criando a parte de verificação numa tela d cadastro e estou com alguns problemas tipo…
eu faço uma verificação no SelectOneMenu por exemplo, c nao selecionar nd ele envia uma mensagem talz, mas essa mensagem nao ta impedindo a continuação do metodo…

ele ta mostrando o erro mas está salvando o objeto. alguem consegue me dizer pq…

public static void messageInfo(String message){
		returnMessage(message, FacesMessage.SEVERITY_INFO);
	}
	
	public static void returnMessage(String message, FacesMessage.Severity severity){
		FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(severity,message,null));
	}

Meus Metodos Pra Enviar msg estão ai em cima…

Se alguem puder me ajudar obrigado.

5 Respostas

B

Você deve colocar um retorno se após exibir a mensagem.
Exemplo:

public String seuMetodoNoMBean() {
    if (verificacao) {
        messageInfo("Mensagem");
        return null;
    }

    //executar método gravar
}
colored

Bom meu Problema eh q tem hora, q ele ta passando pelo validador num ta travando olha meu Validator…

Esse Validador Serve pro cara num digitar um ID, q ja exista no banco.
Mas ele as vezes da a msg as vezes n. e tenta gravar ai da exception.

public void validate(FacesContext arg0, UIComponent arg1, Object value)
			throws ValidatorException {
		
			Integer id = Integer.valueOf(value.toString());
				Map<String, Object> parametros =  new HashMap<String, Object>();
				parametros.put("id", id);
				Concessionaria c = new DAOFactory().getConcessionariaDAO().ObjetoPorCriterio("from Concessionaria c where c.id = :id", parametros);
					if(c != null){
						MessageUtil.messageError("O Código Informado Já Existe nos Registros");
						return;
					}
	}

Se alguem puder me ajudar Brigado.

colored

POr favor Alguem :stuck_out_tongue:

dwduncan

Ao invés de adicionar a mensagem porque não tenta assim:

FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR, "O Código Informado Já Existe nos Registros !", "Validar Registro");
                throw new ValidatorException(message);
colored

Po No primeiro teste q eu fiz parece q funcionou…
POr enquanto valeo dwduncan :smiley:

Criado 3 de novembro de 2009
Ultima resposta 6 de nov. de 2009
Respostas 5
Participantes 3