Evento OnValidate
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:
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.
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
Curtidas 0
Respostas
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. :)
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
25/07/2005
Sobe...
GOSTEI 0
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
25/07/2005
Muito obrigado Motta!!! :D
GOSTEI 0