Onde validar CPF
Oi galera, eu vi na internet e até no site da DevMedia umas funções pra validar CPF e CNPJ, até ai tudo bem, mas eu fiquei na dúvida onde geralmente colocamos estas funções?
Por exemplo, como eu valido o cpf no meu dbedit44?
Obrigada
Por exemplo, como eu valido o cpf no meu dbedit44?
Obrigada
Carla Batista
Curtidas 0
Respostas
Deivison Melo
14/08/2012
No evento OnValidate...
GOSTEI 0
Bruno Leandro
14/08/2012
voce pode colocar no OnExit
ai caso nao seja valido setar o focus para o componente exemplo
procedure Tform.dbedit1Exit(Sender: TObject);
begin
if not(validaCPF(dbedit1.text)) then
begin
showmessage(cpf invalido);
dbedit1.setfocus;
end;
end;
ai caso nao seja valido setar o focus para o componente exemplo
procedure Tform.dbedit1Exit(Sender: TObject);
begin
if not(validaCPF(dbedit1.text)) then
begin
showmessage(cpf invalido);
dbedit1.setfocus;
end;
end;
GOSTEI 0
Carla Batista
14/08/2012
Oi Deivison, onde fica este evento? Obrigada.
GOSTEI 0
Carla Batista
14/08/2012
Oi Bruno, sua dica funcionou por aqui, mas fiquei muito curiosa o que é o onValidate?
Obrigada mesmo!
Obrigada mesmo!
GOSTEI 0
Marco Salles
14/08/2012
este evento é do field ... Caso vc o tenha definido
quando vc da duplo click no DataSet (clientdataset , Table , Query ..etc...)
Esses objetos tem Eventos e para acessa-los vc tem que clicar seu dataset e no seu
Editor de Fields , selecionar o Field que vc quer (no caso o CNPJ) e no Objecto Inspector
dar duplo clique no evento OnValidate
Porém particularmente tanto o evento onexit quanto o evento Validate podem conduzir a resultados
insatisfatório se não forem realizados rotinas de retaguarda . Por exemplo , vc colocar o codigo
no onexit e ai clica em um controle que não recebe o foco (um spedButon) por exemplo que deveria executar
tla codigo somente se o CNPJ estivesse correto . Porém como o SppedButton não recebe o foco , o foco continua
não é movido e independemente se o CNPJ estoer correto ou não o código passa a ser executado
Siada para isto tem , so estou alertando que requer atenção e cuidados e testes quando se utiliza POE para
realizar tarefas importantes no Sistema
Modo sofisticado e certo para Validações é de longe CustomAtributos , porém isto ja é uma outra história
[]sds
quando vc da duplo click no DataSet (clientdataset , Table , Query ..etc...)
Esses objetos tem Eventos e para acessa-los vc tem que clicar seu dataset e no seu
Editor de Fields , selecionar o Field que vc quer (no caso o CNPJ) e no Objecto Inspector
dar duplo clique no evento OnValidate
Porém particularmente tanto o evento onexit quanto o evento Validate podem conduzir a resultados
insatisfatório se não forem realizados rotinas de retaguarda . Por exemplo , vc colocar o codigo
no onexit e ai clica em um controle que não recebe o foco (um spedButon) por exemplo que deveria executar
tla codigo somente se o CNPJ estivesse correto . Porém como o SppedButton não recebe o foco , o foco continua
não é movido e independemente se o CNPJ estoer correto ou não o código passa a ser executado
Siada para isto tem , so estou alertando que requer atenção e cuidados e testes quando se utiliza POE para
realizar tarefas importantes no Sistema
Modo sofisticado e certo para Validações é de longe CustomAtributos , porém isto ja é uma outra história
[]sds
GOSTEI 0
Carla Batista
14/08/2012
Oi Marco, agora entendi, por isso eu não achei, estava procurando no form e até mesmo no dbedit :(
Quando coloco este tipo de evento nos filds fica lento ou não?
Eu fiz no onexit do dbedit6 funcionou, qual é o melhor ou o mais correto?
Obrigada pela ajuda!!!
Quando coloco este tipo de evento nos filds fica lento ou não?
Eu fiz no onexit do dbedit6 funcionou, qual é o melhor ou o mais correto?
Obrigada pela ajuda!!!
GOSTEI 0
Marco Salles
14/08/2012
Quanto a lentidão eu desconheço qq diretriz neste sentido . Portanto minha opinião aqui que é irredudante
Quanto a ser mais correto , todos dois são corretos desde que vc mantenha cuidados . Como qualquer programação
Orientada a eventos POE, é necessário mais teste para detectar possiveis situações de comportamento do Usuário
Como eu disse para vc , No Onexit ele valida se o evento for disparado , Mas se tiver alguma tecla de atalho que
Comita os dados sem Mudar o Foco ??? Da mesma forma no Onvalidate tb tem alguns incovenientes .São situações que
vc deve testar antes de homologar o seu sistema .
Ha outras forma tb , no evento Beforepost , beforeEdit do DataSet tb (De modo simples a que eu prefiro) caso o CNPJ for inválido , ele aborta a operação e comunica . Outra forma é utilizando o Customatributtes , mas como eu disse ,é um conceito mais aplicado a POO.
[]sds
Quanto a ser mais correto , todos dois são corretos desde que vc mantenha cuidados . Como qualquer programação
Orientada a eventos POE, é necessário mais teste para detectar possiveis situações de comportamento do Usuário
Como eu disse para vc , No Onexit ele valida se o evento for disparado , Mas se tiver alguma tecla de atalho que
Comita os dados sem Mudar o Foco ??? Da mesma forma no Onvalidate tb tem alguns incovenientes .São situações que
vc deve testar antes de homologar o seu sistema .
Ha outras forma tb , no evento Beforepost , beforeEdit do DataSet tb (De modo simples a que eu prefiro) caso o CNPJ for inválido , ele aborta a operação e comunica . Outra forma é utilizando o Customatributtes , mas como eu disse ,é um conceito mais aplicado a POO.
[]sds
GOSTEI 0
Marco Salles
14/08/2012
Quanto a lentidão eu desconheço qq diretriz neste sentido . Portanto minha opinião aqui que é irredudante
Quanto a ser mais correto , todos dois são corretos desde que vc mantenha cuidados . Como qualquer programação
Orientada a eventos POE, é necessário mais teste para detectar possiveis situações de comportamento do Usuário
Como eu disse para vc , No Onexit ele valida se o evento for disparado , Mas se tiver alguma tecla de atalho que
Comita os dados sem Mudar o Foco ??? Da mesma forma no Onvalidate tb tem alguns incovenientes .São situações que
vc deve testar antes de homologar o seu sistema .
Ha outras forma tb , no evento Beforepost , beforeEdit do DataSet tb (De modo simples a que eu prefiro) caso o CNPJ for inválido , ele aborta a operação e comunica . Outra forma é utilizando o Customatributtes , mas como eu disse ,é um conceito mais aplicado a POO.
[]sds
Quanto a ser mais correto , todos dois são corretos desde que vc mantenha cuidados . Como qualquer programação
Orientada a eventos POE, é necessário mais teste para detectar possiveis situações de comportamento do Usuário
Como eu disse para vc , No Onexit ele valida se o evento for disparado , Mas se tiver alguma tecla de atalho que
Comita os dados sem Mudar o Foco ??? Da mesma forma no Onvalidate tb tem alguns incovenientes .São situações que
vc deve testar antes de homologar o seu sistema .
Ha outras forma tb , no evento Beforepost , beforeEdit do DataSet tb (De modo simples a que eu prefiro) caso o CNPJ for inválido , ele aborta a operação e comunica . Outra forma é utilizando o Customatributtes , mas como eu disse ,é um conceito mais aplicado a POO.
[]sds
GOSTEI 0
Carla Batista
14/08/2012
Oi Marco, obrigada pela ajuda Marco, então onde eu colocar estará certo!!! Eu me perdi um pouco no final, rs :).. mas tudo bem, já que não tem lentidão, não tem problemas vou colocar em qualquer um dos dois e ir testando, obrigada mesmo!
Quem puder fechar o chamado eu agradeço. até mais pessoal.
Quem puder fechar o chamado eu agradeço. até mais pessoal.
GOSTEI 0
Marco Salles
14/08/2012
Blz Carlinha , vou fechar então
GOSTEI 0
Deivison Melo
14/08/2012
Tópico dado como resolvido!
GOSTEI 0