| Dataset’teki Verinin, kaydedilmeden önce( TBL_UserBeforePost) doğrulanması için, TField class’ına Eklenti olarak yazdığım fonksiyonlardır. 
 
 //ismail Kocacanunit uValidation;
 
 interface uses    SysUtils, Variants, Classes, DB,RegularExpressions;
 typeTFieldValidatorHelper=class Helper for TField
   public       function IsMailFormat:Boolean;function IsIPFormat:Boolean;
 function IsURLFormat:Boolean;
   end;
 implementation
 { TFieldValidatorHelper } function TFieldValidatorHelper.IsIPFormat: Boolean;begin
 Result:=TRegEx.Create('(([0-9]){1,3}.){1,3}[0-9]{1,3}').IsMatch(Trim(Text));
 end;
   function TFieldValidatorHelper.IsMailFormat: Boolean;begin
 Result:=TRegEx.Create('^([\w\.-]{1,64}@[\w\.-]{1,252}\.\w{2,4})$').IsMatch(Trim(Text));
 end;
   function TFieldValidatorHelper.IsURLFormat: Boolean;begin
 Result:=TRegEx.Create('^(https?)://[^\s/$.?#].[^\s]*$').IsMatch(Trim(Text));
 end;
 end.
 
 
 
 
 uValidation unit’ini projenize dahil edittikden sonra;TQuery nesnesinin BeforePost event’inde aşağıdaki gibi bir doğrulama yapabilirsiniz.
 unit uMain;.
 .
 .
 implementation  uses uValidation; procedure TfrmMain.TBL_UserBeforePost(DataSet: TDataSet);begin
 if not DataSet.FieldByName('EMAIL').IsMailFormat then
 begin
 raise Exception.Create('Geçersiz Mail Formatı');
 Abort;
 end;
   if not DataSet.FieldByName('IP').IsIPFormat thenbegin
 raise Exception.Create('Geçersiz IP Formatı');
 Abort;
 end;
 end;
 |