Fala pessoal, boa noite.
Estou com um problema ao exibir mensagem no componente após efetuar validação via javascript, que não permita o submit da página.
Que faça o mesmo efeito do required=“true”.
Segue um trecho do código…
function validarCPF(campo){
var cpf = campo.value;
//Filtrar o campo para verificar se está com máscara
var filtro = /^\d{3}.\d{3}.\d{3}-\d{2}$/i;
if(!filtro.test(cpf)){
alert('antes');
FacesContext.getCurrentInstance().addMessage(campo, new FacesMessage(FacesMessage.SEVERITY_INFO, "CPF inválido. Tente novamente...", "CPF inválido. Tente novamente..."));
alert('depois');
return false;
}
...
Tentei colocar um addMessage tentando jogar mensagem no campo que passo como parâmetro, no caso ?iptCpf?, mas infelizmente a mensagem não é exibida. Alguém teria uma solução para esse tipo de contexto? Pois desejo fazer a validação do cpf no cliente e no servidor, ao clicar no botão incluir. Ou seja, a validação só será realizada no servidor após o CPF estive correto ou o javascript não desabilitado.
<p:commandButton id="cbtIncluir" value="#{msg['botao.incluir']}" rendered="#{clienteController.exibeBotaoIncluir}"
onclick=" validarCPF('iptCpf') actionListener="#{clienteController.salvar}" oncomplete="retornaEvento(args)"
update="pnlCentro, iptCpf, oplMensagem" />
Agradeço desde já pela atenção,
Att,
Lessandro