2
respostas

BeanValidator @CPF

Estou utilizando BeanValidator para o atributo CPF, mas não é lançado nenhuma menssagem na tela para o usuário quando o CPF está inválido, eu apenas recebo a mensagem no console quando o Hibernate tenta persistir, alguém sabe oque pode ser? desde já agradeço!

Pacote utilizado e atributo mapeado

import org.hibernate.validator.constraints.br.CPF;

public class ...
 @CPF
 private String CPF;

Input utilizado na View

<p:inputMask id="cpf" mask="999.999.999-99" ......
2 respostas

OI Wagner, tudo bem? tente adicionar o atributo message no paramaetro da anotação:

@CPF(message="cpf inválido")
 private String CPF;

Olá Samir, obrigado pela resposta! Eu já tentei dessa forma ai, porém não sei porque não funciona. Quando eu preencho com um CPF inválido e tento salvar, sem preencher todos os campos obrigatórios do formulário, nenhum erro nem mensagem é lançada para o CPF, parece q a validação não acontece lado client, ou seja nem na view nem no console do Debugger não aparece nada, ou seja, eu só vou saber se esta errado ou não, quando o hibernate tentar persistir, então só neste momento ele valida e lança a menssagem de erro e somente no console.

ConstraintViolationImpl{interpolatedMessage='cpf inválido', propertyPath=CPF, rootBeanClass=class PessoaFisica, messageTemplate='cpf inválido'

Muito estranho isso, porque usando uma classe que implementa Validator, com a implementação para validar o CPF, funciona perfeitamente.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software