Inscrição Estadual: Error ao validar

1 resposta Resolvido
programaçãodesenvolvimentobibliotecafront-endjava
L

Bem, estou usando o Stella pra validar as IE’s. O problema é que meu campo recebe um ‘long’ e consequentemente, numeros com iniciados com 0 (zero) tem o 0 (zero) omitido por causa que zero à esquerda é irrelevante. Bem, eu tenho uma classe que completa com zero e meu numero é 098765432 (IE do CE não formatado e não é o meu IE real, mas nos meus testes estou usando o IE real). O número é complementado direitinho, mas quando eu passo pro método assertValid ele dá o seguinte error: IEError: INVALID CHECK DIGITS.

Segue minha classe completa.

import br.com.caelum.stella.validation.Validator;
import br.com.caelum.stella.validation.ie.IECearaValidator;
import clienteJ.Cliente;

/**
 *
 * @author lucas
 */
public class Validar {

    public static void main(String[] args) {
//        inscricaoEstadual("09.876.543-1");
        inscricaoEstadual("[telefone removido]");
    }

    public static void inscricaoEstadual(String ie) {
        Cliente clienteA = new Cliente();
        clienteA.setIeRg(Formata.getLong(ie));
        Validator validator = new IECearaValidator(false);
//        validator.assertValid(Formata.formatarValores(clienteA.getIeRg(), Formata.Padrao._9_DIG));
        String num = Formata.formatarValores(clienteA.getIeRg(), Formata.Padrao._9_DIG);
        validator.assertValid(num);

        System.out.println(validator);
        System.out.println(num);
        System.out.println(clienteA.getIeRg());
    }
}

1 Resposta

L
Solucao aceita

Bem, resolvi o problema. O meu error estava sendo causado por causa do DV (dígito verificador, no caso, o último dígito) que estava passando errado. Se a administração/moderação quiserem apagar o post, podem fazê-lo.

Criado 4 de outubro de 2016
Ultima resposta 4 de out. de 2016
Respostas 1
Participantes 1