Serkan Ayyıldız

Meraklı bir yazılım uzmanı...

Asp.Net Custom Validator

Asp.Net severlere yeniden selamlar :)

Asp.Net validation kontroller makale dizimizde bugün Custom (özelleştirilmiş) Validator kavramını öğreneceğiz.

Custom Validator,daha önceki gördüğümüz validation kontrollerine göre biraz farklı bir kontroldür.Bunun sebebi
adındanda anlaşılabileceği gibi özelleştirilebilir olmasından kaynaklanıyor.

Peki özelleştirilebilen validator ne demek?

Özelleştirilebilir validator,diğer validation kontrollere göre denetlenecek Asp.Net kontrolünü salt bir konu hakkında
olmaktan çok birden çok konuda denetlenebilmesini sağlamaktadır.

En basit bir örnekle şöyle ifade edebiliriz,bir Asp.Net textbox kontrolünün boş geçilmemesini istiyorsak Required Field 
Validatoru kullanırız,peki aynı zamanda en az 8 karakter zorunluluğu koysaydık bu durumda Range Validator kontrolünü 
kullanacaktık.Ayrıca bu içerisine şifre yazacağımız bir kontrolse işler biraz daha karışacak çünkü şifrenin doğruluğunu
kontrol etmemiz gerekiyor.

İşte bu kadar karmaşık fonksiyonlar gerektiren bir doğrulayıcıya ihtiyacımız varken üstüne bir de sunucu tarafında işler 
yaptıracağımız (şifre doğrulama gibi) bir validatöre ihtiyacımız olacaksa Custom Validator imdadımıza yetişiyor :)

Şimdi gelin bu bahsettiğimiz örneğimizi uygulamaya geçirelim; öncelikle önceki makalelerimizden beri kullandığımız 
"validationKontroller" projemizi Visual Studio'da açıp projemize "CustomValidator" adında bir web form ekleyelim ve 
formumuza aşağıdaki gibi textbox ve button ekleyelim:

AspNet-Textbox-Button

Şimdide Custom Validator kontrolümüzü ekliyor ve önceki validation kontrollerde olduğu gibi yapılandırıyoruz:

Asp.Net-Custom-Validator

Şimdi gelelim en önemli noktaya,az önce bahsettiğim gibi Custom Validator server taraflı çalışan bir kontroldür ve
bu işlemi yaparken tıpkı buttonun click eventine tıklanmış gibi kendi eventi çalışır dolayısıyla sayfa postback olacak.
Bu click eventine ulaşmak için Visual Studio içinde design sekmesine geçtikten sonra validatoru seçin ve sağ ekranınızdaki properties penceresine bakın,daha önce eventleri gördüğümüz şimşek logosuna tıklayın:

Visual-Studio-Properties

İşte buradaki "ServerValidate" eventi bize kontrolün sunucu tarafından erişilebilmesini sağlar,şimdi ServerValidate 
yazısına çift tıklayın ve code-behind sayfasındaki kod yazacağımız metota geçin:

C#.Net-Method

Bu metot bize Custom Validatöre ulaşmamızı sağlayacak,metodun overloadunda yer alan "ServerValidateEventArgs args" parametresi kullanıcının girdiği metni verir,o halde şimdi şifre denetimi yapabiliriz.
Öncelikle sanki veritabanında kayıtlı bir şifremiz varmış gibi hareket edelim ve kendimize bir şifre belirleyelim:

c#-string

Şimdide kullanıcının girdiği şifreyi yakalayalım,bunun için parametremizdeki "args" parametresini kullanıp Value 
özniteliğinden yararlanıyoruz:

Custom-Validator-Method

Son olarak if-else karar yapısı oluşturup şifrelerin birbirleriyle uyuşup uyuşmadıklarına bakıyoruz:

c#-if-else

Karar yapımızı oluşturduk,peki şifrelerin doğru olup olmadığını Custom Validator kontrolümüze nasıl bildireceğiz?
Bu işlemi yapmak için yine "args" parametresini kullanıp,"isValidate" özniteliğinden faydalanıyoruz. isValidate özniteliği
bool değişkeni aldığı için true ya da false değerlerini vermeliyiz:

CustomValidator-Is-Valid

İşte herşey bu kadar,biraz C# kodu yazarak validation kontrolümüzü hazırladık!
Şimdi test zamanı :)

Custom-Validator-Button

Custom-Validator-Valid

Görüldüğü gibi Custom Validator server taraflı ihtiyaçlarımı karşılayan gayet kullanışlı bir doğrulayıcı olduğu için
Asp.Net projelerinde yeri geldiğinde güzel sonuçlar çıkarmamıza yardımcı oluyor.

Custom Validator makalemizin böylece sonuna gelmiş bulunuyoruz,bir sonraki makalemizde görüşmek üzere hoşçakalın :)

Projeyi İndir

1 Yorum:

  1. Ali
    4/1/2015

    Aynı sekilde yapmama ragmen hala hata vermemesinin nedeni ne olabilir?

Bir yorum bırak E-posta adresiniz yayınlanmayacaktır.

Menu