Como usar o OnValidate?
Olá estou querendo validar um dado fornecido pelo usuário, estou usando OnValidade no Field, esse é o melhor método? Pois não queria usar o OnExit do Componente... Porém quando uso a minha função, ele simplesmente não limpa o conteúdo do campo, já debuguei e ele passa no codigo do Clear, mas não limpa, segue o codigo:
Lembrando que as duas funções do IF, são funcoes criadas por mim...
Desde já agradeço
[]s
if (not Empty(Sender.AsString))and (not Valida(2, Sender.AsString)) then begin TbPrincipalCNPJ.Clear; DBEdit3.Clear; Exit; end;
Lembrando que as duas funções do IF, são funcoes criadas por mim...
Desde já agradeço
[]s
Titanius
Curtidas 0
Respostas
Titanius
17/01/2006
sobe...
GOSTEI 0
Bruno Belchior
17/01/2006
Normalmente no [b:03f01c9eba]OnValidate[/b:03f01c9eba] eu apenas levanto uma exceção, sendo assim o foco já cai no Controle associado ao Field e aparece a mensagem desejada...
GOSTEI 0
Titanius
17/01/2006
[quote:a32849df45=´Bruno Belchior´]Normalmente no [b:a32849df45]OnValidate[/b:a32849df45] eu apenas levanto uma exceção, sendo assim o foco já cai no Controle associado ao Field e aparece a mensagem desejada...[/quote:a32849df45]
Fala aí Bruno, poderia dar um exemplo do seu uso? Pois queria que limpasse o Field, assim forçaria o usuário a digitar novamente a informação.
[]s
Fala aí Bruno, poderia dar um exemplo do seu uso? Pois queria que limpasse o Field, assim forçaria o usuário a digitar novamente a informação.
[]s
GOSTEI 0
Bruno Belchior
17/01/2006
Gerando uma exceção o Foco volta para o Controle ligado ao TField e seleciona todo o texto, sendo assim creio que nem seria necessário apagar mas de qualquer forma isso serviria:
procedure TFrmTeste.ClntDtStTeste1NAMEValidate(Sender: TField); begin if Sender.AsString <> ´Bruno Belchior´ then begin DbEdtNome.Clear; raise Exception.Create(´O nome está errado´); end; end;
GOSTEI 0
Titanius
17/01/2006
Valeu bruno, agora uma ultima pergunta,
Para validar alguma informação de algum campo, o certo mesmo eh usar o OnValidate, ou não? Pois colocar no OnExit é foda né!?
[]s
Para validar alguma informação de algum campo, o certo mesmo eh usar o OnValidate, ou não? Pois colocar no OnExit é foda né!?
[]s
GOSTEI 0
Bruno Belchior
17/01/2006
Sim, os próprios cursos preparatórios para certificação borland recomendam essa metodologia...
GOSTEI 0
Titanius
17/01/2006
Valeu Bruno...
[]s
[]s
GOSTEI 0
Adriano Santos
17/01/2006
Valeu bruno, agora uma ultima pergunta,
Para validar alguma informação de algum campo, o certo mesmo eh usar o OnValidate, ou não? Pois colocar no OnExit é foda né!?
[]s
Só um comentário. No onExit ainda tem o problema do cara não passar pelo campo e clicar direto em Ok, Confirma e etc forçando nos a prever isso tb...rsr :wink:
GOSTEI 0