Fórum Validação de campos #330826
06/10/2006
0
Seguinte,
Gostaria de saber como vcs validam os campos das tabelas que trabalham...
Tipo, ja procurei artigos e exemplos a respeito e tudo que consigo achar são métodos de validação para quando o usuário clicar no ´ok´ ou seja tentar salvar os dados, mais gostaria de saber como vcs fazem pra validar na hora que o usuário ta preenchendo o campo.
Atualmente eu utilizo o OnExit de cada DBEdit, assim verifico se o dado está correto ou não, se sim vai para o proximo campo se não permanece.
Porém acho isso demasiado incômodo, e gostaria de saber como vcs validam o que o usuário entra no sistema....
Obrigado pela ajuda....
Até mais
Gardel
Curtir tópico
+ 0Posts
06/10/2006
Tnaires
Valido os dados no Delphi de duas formas:
* quando os valores precisam ser verificados assim que são digitados, utilizo o evento OnChange do TField correspondente;
* quando a validação pode ser esperada até, digamos, o usuário clicar no botão gravar, utilizo o evento OnBeforePost do DataSet em questão.
Abraços
Gostei + 0
07/10/2006
Paullsoftware
também, normalmente utilizo do evento BeforePost para verificar os dados antes de gravá-los...
Gostei + 0
09/10/2006
Faustoalves
Seria possível vc´s me enviarem um exemplo de validação no BeforePost?
Grato
Fausto
faustoalves@gmail.com
Gostei + 0
09/10/2006
Marcio.theis
Gostei + 0
09/10/2006
Tnaires
procedure OnBeforePost(Sender: TDataSet); begin if <condição de validação> then begin ShowMessage(´Mensagem de campo inválido´); Abort; end; end;
Gostei + 0
09/10/2006
Gardel
A validação no evento OnChange do TField seria a mais interessante pra mim, já que preciso validar os campos no momento em q o usuário tenta sair do campo.
Só encontrei um problema quanto a isso, caso o usuário apenas passe no campo sem mecher em nada, deixando ele vazio como está, o evento simplesmente não é disparado pq os dados não foram modificados.
Exemplo se no campo nome eu valido pra não ser vazio, quando o usuário entrar no campo, se ele não mecher, deixar como está (vazio) qdo ele sai do campo simplesmente nada acontece, agora se ele mecher algo, tipo digitar um espaço, apagar e depois tentar sair do campo ai sim dispara o evento, pq afinal ele modifico algo.
Como vcs resolvem esse problema?
Agradeço.
Gostei + 0
09/10/2006
Tnaires
Gostei + 0
14/10/2006
Gardel
Poderia utizar o onValidade do TFiled também só que tambem so funciona se os dados forem previamente modificados.
A Única solução que encontrei foi colocar na propriedade DefaultExpression um valor qualquer, pode ser do tipo Hint Tipo no campo nome do cliente na DefaultExpression colocar Por favor, insira o nome do cliente, assim, quando o usuário inclui um registro essa informação vem direto no campo, daí o usuário vai ter q apagar isso pra poder digitar o valor que ele realmente quer, assim ele modifica e dispara os eventos de validação.
O único problema é que preciso das validações enquanto o usuário insere os dados, e não quando ele confirma.
Agradeço,
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)