ASP.Net ve Validation Kontrolleri

Yazar: Erkan GÜZELKÜÇÜK
Kategori: ASP.NET
Eklenme Tarihi: 15.1.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.

Default.aspx

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.

Default.aspx - Ekran Çıktısı

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  .Net ile kalın.


Erkan GÜZELKÜÇÜK
Web Yazılım Geliştirmeni
erkanguzelkucuk(at)hotmail.com
Twitter: erkanguzelkucuk


Erkan GÜZELKÜÇÜK

Erkan GÜZELKÜÇÜK, 2007-2009 Yılları arasındaINETA MEA Grup Liderliği yapmıştır şuan da INETA MEA / DeveloperMania.NetTeknik Lider & Editör görevini üstlenmektedir. Ayrıca Yazgelistir.com ve Yazilimgunlugu.com sitelerinde Yazar, Kariyervideo.com sitesinde ise Eğitmen olarak görev yapmaktadır.

Bu makaleye ilk yorum yapan siz olun.

Yorumunuz