Erro na validação e na mascara de CPF e CNPJ
16/12/2020
15
Olá, estou sendo assombrado pelo fantasma dos erros delhpianos, o erro em questão é este: "invalid input value. Use escape key to abandon changes"
Ele ocorre quando ao digitar o CPF ou CNPJ algum numero fica faltando.
Utilizo uma mascara no seguinte estilo:
O mesmo processo para o CNPJ.
Tentei barrar com o seguinte codigo.
Porém quase sem sucesso, ao implementar isto ao KeyDown do Edit:
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
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
Curtir tópico
+ 0
Responder
Post mais votado
16/12/2020
Verifique se isso ajuda:
http://www.activedelphi.com.br/forum/viewtopic.php?t=64806&sid=afc9488f3a44cb2cee069723d493de35
http://www.activedelphi.com.br/forum/viewtopic.php?t=64806&sid=afc9488f3a44cb2cee069723d493de35
Ajudou bastante, muito obrigado <3 <3
Ramboli

Responder
Mais Posts
16/12/2020
Nomad
Verifique se isso ajuda:
http://www.activedelphi.com.br/forum/viewtopic.php?t=64806&sid=afc9488f3a44cb2cee069723d493de35
http://www.activedelphi.com.br/forum/viewtopic.php?t=64806&sid=afc9488f3a44cb2cee069723d493de35
Responder
16/12/2020
Ramboli
Se não for pedir demais, ta ocorrendo algo estranho agora. Consegui com que emita apenas a mensagem Raise, porem, sempre cai na condição:
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
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
Responder
17/12/2020
Ramboli
Se não for pedir demais, ta ocorrendo algo estranho agora. Consegui com que emita apenas a mensagem Raise, porem, sempre cai na condição:
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
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
Responder
Clique aqui para fazer login e interagir na Comunidade :)