Sayfayı Yazdır | Pencereyi Kapat

TField için Validator

Nereden Yazdırıldığı: Datakent
Kategori: Diğer bölümler
Forum Adı: Borland Delphi
Forum Tanımlaması: Borland Delphi ile ilgili soru / sorun / paylaşım bölümü
URL: http://forum.datakent.com/forum_posts.asp?TID=2361
Tarih: 28.Mart.2024 Saat 13:56


Konu: TField için Validator
Mesajı Yazan: turknetyazilim
Konu: TField için Validator
Mesaj Tarihi: 23.Nisan.2012 Saat 21:06
Dataset’teki Verinin, kaydedilmeden önce( TBL_UserBeforePost) doğrulanması için, TField class’ına Eklenti olarak yazdığım fonksiyonlardır.

//ismail Kocacan
unit
uValidation;

interface

uses

   SysUtils, Variants, Classes, DB,RegularExpressions;

type
 
TFieldValidatorHelper=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 then
  
begin
    
raise Exception.Create('Geçersiz IP Formatı');
         Abort;
      end;
end
;




Cevaplar:
Mesajı Yazan: murat turan
Mesaj Tarihi: 12.Mayis.2012 Saat 19:36
Paylaş paylaş paylaş nereye kadar? sonuna kadar ;) sağol...

-------------
http://www.kasatakip.com - Kasa Takip  |  http://www.caritakip.com - Cari Takip  |  http://www.evraktakip.com - Evrak Takip  |  http://www.etasqlmobil.com - ETA SQL Mobil


Mesajı Yazan: turknetyazilim
Mesaj Tarihi: 14.Mayis.2012 Saat 17:17
Murat abi ben paylaşmayı sen ve senin gibi ustalardan öğrendim.Approve



-------------



Sayfayı Yazdır | Pencereyi Kapat