Evento OnValidate

Delphi

25/07/2005

Caros colegas. Estou tendo problemas para utilizar o evento onvalidate. Já pesquisei em vários tópicos mas não adianta. Nenhum código q encontrei resolveu o problema. O q acontece é q o dado simplesmente não está sendo validado. O código q estou utilizando é esse:

procedure Tfrmcadastro.cdsfunchoraDia_SemanaValidate(Sender: TField);
begin
     if Sender.AsString=´´ then 
        Raise EDatabaseError.Create(´Valor inválido para dia da semana´); 
end;


Já tentei com Sender.Value, Sender.Isnull e nada funcionou até agora. Estou editando o valor através de um DBGrid. A única forma q encontrei para validar é utilizando a propriedade Required, só q ela exibe uma mensagem padrão do Delphi e eu não kero q isso aconteça. Já chekei no banco e o registro fica realmente gravado como nulo. Como posso contornar a situação? :?

Agradeço desde já a colaboração.


Lero

Lero

Curtidas 0

Respostas

Lero

Lero

25/07/2005

Pessoal.
Eu ainda não havia testado, então descobri q a validação está ocorrendo, sim. Só q só acontece qdo eu edito o campo. No caso de eu inserir um registro novo ou alterar um registro qualquer q esteja com o campo vazio, ele passa direto sem a validação. Acho q talvez eu tenha q fazer a mesma validação no evento BeforePost e BeforeInsert, mas será q não dá pra utilizar o Validate mesmo?

Obrigado. :)


GOSTEI 0
Lero

Lero

25/07/2005

Sobe...


GOSTEI 0
Motta

Motta

25/07/2005

Só será chamado se o TField for alterado , assim para testar nulo (valor inicial) ponha a lógica no BeforePost.


GOSTEI 0
Lero

Lero

25/07/2005

Muito obrigado Motta!!! :D


GOSTEI 0
POSTAR