ASP.NET Validation Kontrolleri
Yazar:
Erkan GÜZELKÜÇÜK
Kategori:
ASP.NET
Eklenme Tarihi:
15.01.2010 10:11:42
Merhabalar,
bu makalemde Validation Kontrollerinin kullanımına değineceğim. Bir
projenizde veya basit bir iletişim formu hazırladığınızda en çok
karşılaşacağınız sorunların başında, formata uygun verilerin girilmemesi
ve boş bırakmalar. Bu tür sorunların önüne geçebilmek için satırlarca
kod yazarsınız. ASP uygulamaları yapanlar bilirler, bir Textbox
etkileşim sayfasına boş geliyor ise o kullanıcıyı geri aynı sayfaya
yönlendiririz veya bir uyarı yazısı gösteririz. Fakat bunun bir yolu
daha var.
Merhabalar,
bu makalemde Validation Kontrollerinin kullanımına değineceğim. Bir
projenizde veya basit bir iletişim formu hazırladığınızda en çok
karşılaşacağınız sorunların başında, formata uygun verilerin girilmemesi
ve boş bırakmalar. Bu tür sorunların önüne geçebilmek için satırlarca
kod yazarsınız. ASP uygulamaları yapanlar bilirler, bir Textbox
etkileşim sayfasına boş geliyor ise o kullanıcıyı geri aynı sayfaya
yönlendiririz veya bir uyarı yazısı gösteririz. Fakat bunun bir yolu
daha var. Validation Kontrolleri, Form nesneleri üzerinde işlemi
tamamladığımızda kendini aktifleştiren bir yapıya sahiptir. Örnek olarak
bir Textbox içerisindeki verinin istenilen aralıkta mı? , Metinsel mi?
Sayısal mı? Boş mu geçildi? Ve daha birçok işlemi yaptırabilmekteyiz.
Basit bir uygulama ile Validation Kontrolümüzü inceleyelim.
Ben daha önce bir form hazırladım. Bu formu Validation Kontrollerini kullanarak denetleyeceğiz.
Validation Kontrollerimizi açıklayacak olursak;
RequiredFieldValidator:
Bu kontrol Form nesnelerimizin boş geçilip geçilmediğini denetlemek
için kullanılır. Her Form nesnesi için ayrı ayrı RequiredFieldValidator
eklemek gerekmektedir.
- Dislayp: Üç seçenek
içermektedir: Static, Dinamic, None Bu seçenekleri kullanarak kontrolün
hata mesajını gösterip veya saklayabilirsiniz.
- ErrorMessage: İsminden de anlaşıldığı gibi hata mesajı, Kontrol aktif hale geldiğinde ekrana çıkacak hata mesajı.
- ControlToValidate: Bu seçenek ise hangi form nesnesi üzerinde denetleme yapacağını belirtmektedir.
RangeValidator: Bu
Kontrol bir Form nesnesinin belirlenen aralık içerisinde olup
olmadığını denetlemek için kullanılır. Properties’den MaximumValue ve
MinumumValue olarak değerler verilir. Bu değerler Double, String,
İnteger, Date, Currency tipinde olabilir.
- Dislayp, ErrorMessage, ControlToValidate Özellikleri yukarıdaki gibi.
- MaximumValue:
Form Nesnesine verilebilecek maksimum değeri göstermektedir. Bu
değerden yüksek bir sayı girildiğinde RangeValidator kontrolü aktif hale
gelir.
- MinumumValue: Bu seçenek ise Form
nesnesine verilebilecek minimum değeri göstermektedir. Bu değerden düşük
bir sayı girildiğinde RangeValidator kontrolü aktif hale gelir.
- Type:
Bu seçenek ise Form nesnesi içerisindeki verinin hangi tipte
algılanacağını belirtmektedir. Farklı bir tipte veri girildiğinde
RangeValidator kontrolü aktif hale gelir.
RegularExpressionValidator: Bu
kontrol Form nesnelerinden girilen bilginin bizim ayarlarımıza uygun
olup olmadığını denetlemek için kullanılır. Genellikle bu kontrolü
E-mail adreslerinin doğru girişip girilmediğini denetlemek için
kullanırlar. Tabi ki sadece bunla sınırlı değil birçok denetleme
özelliği var. RegularExpressionValidator kontrolünü bir form nesnesi ile
etkileşim haline getirebilmek için Properties panelini kullanalım.
- Dislayp, ErrorMessage, ControlToValidate Özellikleri yukarıdaki gibi
- ValidationExpression:
Bu özellik bizim vereceğimiz ayarları göstermektedir. Bu ayarlar
dışında bir veri girildiğinde RegularExpressionValidator aktif hale
gelir.
İçerisinde İnternet E-Mail Address, İnternet URL v.b birçok
ayar yer almaktadır. Var olan Standart Expressions’lar dışında bizde
kendi Expression’umuzu yazabiliriz. Bunun için Standart Expression
Listbox menüsünden Custom’u seçmeliyiz ve Validation Expression
kutucuğunu kullanmalıyız.
(İnternet E-Mail Address : \w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* ) bu şekildedir.
CompareValidator: Bu Kontrol iki form nesnesinin birbiri ile uyuşup uyuşmadığını denetlemektedir.
- Dislayp, ErrorMessage Özellikleri yukarıdaki gibi
- ControlToCompare: Bu seçenek iki form nesnesinin ilk nesnesini belirtmektedir. İkinci nesne bu nesne baz alınarak denetlenir.
- ControlToValidate: Bu seçenek ise ikinci form nesnesini belirtir. ControlToCompare’deki veri ile eşleştirme yapılır. Eğer eşitlik sağlanmaz ise CompareValidator kontrolü aktif hale gelir.
- Type:
Bu seçenek ise Form nesnesi içerisindeki verinin hangi tipte
algılanacağını belirtmektedir. Farklı bir tipte veri girildiğinde
RangeValidator kontrolü aktif hale gelir.
ValidationSummary:
Bu Kontrol Form nesnelerini denetleyen Validation Kontrollerinin
tamamını göstertmek için kullanılır. Yukarıda belirtmiş olduğumuz 4 adet
Validation Kontrolünde Dislayp seçeneği bulunmaktadır. Bu seçenek
içerisinde yer alan None şıkkı. Kontrollerin kendi içerisinde
gözükmemesini ve içerisindeki ErrorMessage’yi ValidationSummary’e
göndermesini sağlayacaktır. Bu kontrolde oldukça kullanışlı bir
kontroldür. Eklendikten sonra hiçbir Properties ayarı yapılmaz
ValidationSummary’de. Otomatik olarak Dislayp=”None” olan Kontrolleri
çekecektir.
CustomValidator: Bu Kontrol Validation için kendi kodumuzu yazmamıza olanak tanır.
DynamicValidator: Bu Kontrol Dinamik olarak Validation üretmemizi sağlar.
Hazırlamış olduğumuz örnek uygulamayı çalıştıralım ve ekran çıktısını hep beraber inceleyelim.
Ekran
çıktısında da gördüğünüz gibi uyuşmayan form nesneleri için hata
mesajları çıktı ekrana. Fark ettiyseniz sayfa post edilmiyor. Validation
Kontrollerinin en önemli özelliği de bu olsa gerek
Bir sonraki makalemde görüşmek üzere
Sayfamızda iki buton olu ve 1. buton için kontrollerin yapılıp diğerinin yapılmasını istemezsek
diğer sayfaya geçmek için kullandığınız butonun CausesValidation
özelliğini false yapmanız yeterli bu durumda validation kontrolleri
devre dışı kalacaktır.
Hiç yorum yok :
Yorum Gönder