Datakent Ana Sayfa
Anasayfa Anasayfa > Diğer bölümler > Borland Delphi
  Aktif Konular Aktif Konular RSS: TField için Validator
  Yardım Yardım  Hızlı Ara   Kayıt Ol Kayıt Ol  Giriş Giriş

TField için Validator

 Yanıt Yaz Yanıt Yaz
Yazar
Mesaj
turknetyazilim Açılır Menü Göster
Moderator Group
Moderator Group
Simge

Kayıt Tarihi: 18.Ocak.2008
Bulundugu Yer: Balıkesir
Online: Sitede Değil
Gönderilenler: 214
  Alıntı turknetyazilim Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Konu: TField için Validator
    Gönderim Zamanı: 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
;



Düzenleyen turknetyazilim - 23.Nisan.2012 Saat 21:12
Yukarı Dön
murat turan Açılır Menü Göster
Admin Group
Admin Group
Simge
Datakent

Kayıt Tarihi: 01.Ekim.2003
Bulundugu Yer: Turkey
Online: Sitede Değil
Gönderilenler: 1798
  Alıntı murat turan Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 12.Mayis.2012 Saat 19:36
Paylaş paylaş paylaş nereye kadar? sonuna kadar ;) sağol...
Yukarı Dön
turknetyazilim Açılır Menü Göster
Moderator Group
Moderator Group
Simge

Kayıt Tarihi: 18.Ocak.2008
Bulundugu Yer: Balıkesir
Online: Sitede Değil
Gönderilenler: 214
  Alıntı turknetyazilim Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 14.Mayis.2012 Saat 17:17
Murat abi ben paylaşmayı sen ve senin gibi ustalardan öğrendim.Approve

Yukarı Dön
 Yanıt Yaz Yanıt Yaz

Forum Atla Forum İzinleri Açılır Menü Göster



Bu Sayfa 0,334 Saniyede Yüklendi. [power by : WebWiz]