Pessoal,
Estou tentando exibir uma mensagem de erro na tela quando o usuário tenta cadastrar um fornecedor com o CNPJ igual a um que já esteja cadastrado. A lógica está certa, verifico no BD direitinho, o problema é que a mensagem de erro, para informar ao usuário onde ele está errando não aparece, não acontece nada na tela, ele não envia nada, não faz nada, nem mostra a mensagem de erro.
Se alguém puder me ajudar.
XHTML:
<h:messages id="mensagensErro" styleClass="erros"/>
<p:commandButton image="ui-icon-disk" value="Salvar"
actionListener="#{fornecedorController.salvar}"
update=":formManterFornecedor"/>
BEAN:
public void salvar() throws IOException {
if (this.verificarCNPJ(this.fornecedor.getCnpj())) {
this.fornecedorDao.saveOrUpdate(this.fornecedor);
this.fornecedor = new Fornecedor();
String url = "fornecedor.sgm";
FacesContext fc = FacesContext.getCurrentInstance();
ExternalContext ec = fc.getExternalContext();
ec.redirect(url);
}
else {
FacesContext ctx = FacesContext.getCurrentInstance();
ctx.addMessage("mensagensErro", new FacesMessage("CNPJ já cadastrado!"));
}
}
Onde estou errando? Já tentei fazer essa exibição personalizada em campos de texto, labels, utilizando o message.properties, mas até agora nada.