0
respostas

[Dúvida] Validar campo CPF_CNPJ

Boa tarde, estou fazendo um projeto para poder praticar Java e Spring boot e, acredito que não seria possível usar os annotations @CPF e @CNPJ simultaneamente na mesma variavel (a minha variável recebe os dois valores CNPJ e CPJ), e queria validar os valores que serão recebidos antes de incluir no banco de dados. Uma forma que encontrei de fazer a validação foi utilizar a biblioteca Caelum Stella e, fazer a validação dentro do método de salvar, gostara de compartilhar e saber se indicariam uma forma melhor de fazer essa validação.

public Parceiro(DadosCadastroParceiro dados) throws ErroDedadosException {

    if (dados.tipoParceiro().contains("Fisica")){

        CPFValidator cpfValidator = new CPFValidator();
        List<ValidationMessage> erros = cpfValidator.invalidMessagesFor(dados.cpf_cnpj());
        if (erros.size() > 0){
            throw new ErroDedadosException("CPF Inválido, por favor informar CPF Válido.");
        }else {
            this.cpf_cnpj = dados.cpf_cnpj();
        }
    }
    else if  (dados.tipoParceiro().contains("Juridica")){
        CNPJValidator cnpjValidator = new CNPJValidator();
        List<ValidationMessage> errosCNPJ = cnpjValidator.invalidMessagesFor(dados.cpf_cnpj());

        if(errosCNPJ.size() > 0){
            throw new ErroDedadosException("CNPJ Inválido, por favor informar CNPJ Válido.");
        }else {
            this.cpf_cnpj = dados.cpf_cnpj();
        }
    }
    this.email = dados.email();
    this.nome = dados.nome();
    this.telefone = dados.telefone();
    this.tipoParceiro = dados.tipoParceiro();
}