Erro na validação e na mascara de CPF e CNPJ
16/12/2020
0
Ele ocorre quando ao digitar o CPF ou CNPJ algum numero fica faltando.
Utilizo uma mascara no seguinte estilo:
ECPF.MaxLength := 14; // Quantidade maxima de caracteres contando com os . e - TStringField(Query.FindField('CPFCNPJ')).EditMask := '000\.000\.000\-00;0; ';
O mesmo processo para o CNPJ.
Tentei barrar com o seguinte codigo.
if ComboTipo.ItemIndex = 0 then begin if Length(ECPF.Text) < 14 then raise Exception.Create('É necessário informas todos os números do CPF!'); end
Porém quase sem sucesso, ao implementar isto ao KeyDown do Edit:
if Key = #13 then begin if ComboTipo.ItemIndex = 0 then begin if Length(ECPF.Text) < 14 then raise Exception.Create('É necessário informas todos os números do CPF!'); end; end;
Já consegui exibir minha mensagem RAISE, porem acompanhada com a mensagem do erro: "invalid input value. Use escape key to abandon changes"
Alguem consegue me auxiliar?
Preciso tratar esse erro, mas ele passa batido pelo onExit do Edit, como faço para tratar esse erro e viver feliz para sempre?
Utilizo banco SQLite e Delphi 10.2 Tokyo
Deste já obrigado pela atenção
Ramboli
Post mais votado
16/12/2020
http://www.activedelphi.com.br/forum/viewtopic.php?t=64806&sid=afc9488f3a44cb2cee069723d493de35
Ajudou bastante, muito obrigado <3 <3
Ramboli
Mais Posts
16/12/2020
Nomad
http://www.activedelphi.com.br/forum/viewtopic.php?t=64806&sid=afc9488f3a44cb2cee069723d493de35
16/12/2020
Ramboli
begin if Length(ECPF.Text) < 14 then raise Exception.Create('É necessário informas todos os números do CPF!'); end;
Por algum motivo, sempre esta caindo, 14 é o numero de caracteres do CPF juntamente com os caracteres da mascara, se eu colocar 11, que são apenas os caracteres do CPF, ele pula o evento, mesmo se eu preencher totalmente os espaços ou se deixar totalmente nulo, ele se comporta igual, alguma dica?
Obrigado e desculpe novamente
17/12/2020
Ramboli
begin if Length(ECPF.Text) < 14 then raise Exception.Create('É necessário informas todos os números do CPF!'); end;
Por algum motivo, sempre esta caindo, 14 é o numero de caracteres do CPF juntamente com os caracteres da mascara, se eu colocar 11, que são apenas os caracteres do CPF, ele pula o evento, mesmo se eu preencher totalmente os espaços ou se deixar totalmente nulo, ele se comporta igual, alguma dica?
Obrigado e desculpe novamente
Encontrei o erro, porem não sei como consertar, pois no CPF ele esta comendo 2 caracteres, sempre 2, apos o -, já o CNPJ, ele esta comendo caracteres aleatorios, as vezes come 1, as vezes 2, as vezes nem come
Clique aqui para fazer login e interagir na Comunidade :)