Ana içeriğe atla

Asp.Net Validator (Compare-Range-Regular) -1

Visual Studio 2008-10 aracınızda Validation kontrolleri kullanılarak form veri kontrol etmenin ne işe yaradığını ve bu Validation grubunun nasıl kullanıldığını örneklerde görmek istiyorsanız bu blog size yardım edebilir.

Web formlarınızdan alınacak verilerinizi fitreler, veri doğrulama gibi yöntemleri kullanarak  veritabanınızın sağlığını korumak uygulama geliştirirken düşünmeniz gereken ilk aşamadır.Şimdi detaylara bir göz atın...


Daha önce bu konunun ilk yazısını yazarak ilk başlangıç bilgilerini vermiştim şimdi ise biraz daha detaya ihtiyacımız olduğunu düşünüyorum.Halen web sitelerinde ve uygulamalarında elbette Asp.Net olanları içinde pek görmedeğim fakat hayli önemli bu kontrol sınıflarının neden kullanmadığını anlamış değilim.Bir web form içinde kullanıcılarınızdan alacağınız her veriyi kontrol etmeniz uygulamalarınızın sağlamlığı bakımından çok önemlidir.Her tür script ataklarının öncelikle web formlar üzerinden düzenlendiğini ve bu yüzdende database ve arayüz katmanlarında gerekli önlemleri almamız gerektiğini bilmeliyiz.

Yukarıda gördüğünüz resimdeki gibi 5 adet Validation kontrolümüz var bu blog bunlardan ilk 3 olan Compare-Range ve Regular hakkındaki önemli bileşenleri sunar.Tüm Validation kontroller standart form elementleri üzerine sürükle bırak şeklinde iliştirilebilir.ControlToValidate özelliği ile aktif edilebilir.Validator paramaters (paramatreleri) ise Properties kısmındaki seçenekleri ile görsel olarak tasarlanabilir.Bu blog anlatımı daha çok detay için iki aşamayıda içerecektir.

Compare Validator:
Compare yani karşılaştırma olarakta diyebileceğimiz Asp.Net kontrolünün  yandaki resimdende anlaşılacağı gibi 7 Farklı opratörü bulunmaktadır.Her hangi bir DropDownList ListBox içinde oldukça faydali aracın kullanımıda yine Oparetörleri ile alakalıdır.Buna göre web formunda bulunan TextBox içine kullanıcı tarafından girilecek veriyi başka bir form elementi için karşılaştırabilir.Yada bir seçmeli listede bulunan kullanıcı tarafından seçilecek veriyide kontrol edebilir.Şimdi bunu bir deneyelim!.Yeni bir web formuna ekleyeceğimiz DropDownList içinde seçmeli bir liste edinelim.


<asp:DropDownList ID="DropDownList1" runat="server">

    <asp:ListItem>Seçiniz</asp:ListItem>
    <asp:ListItem>Web Yazılım</asp:ListItem>
    <asp:ListItem>Sistem Uzmanı</asp:ListItem>
</asp:DropDownList>


Bu şekilde bir DropDownList bulunan web formunda kullanıcı kayıt işlemi için herhangi bir Button' a tıkladığında Database içine gelecek veri liste içinde bulunan değerlerden biri olmalıdır.Şayet kullanıcı bu seçeneği "Seçiniz" ListItem seçili olduğunda yani seçim yapmadan kayıt işlemini tamamlarsa Database içine alacağımız kayıt anlamsız olacaktır.Çünkü kullanıcı bu aşamayı tamamlamamış ve bize bilgi vermemiştir.Bu aşamada kullanıcıya dur demek lazım.Ve bu form içinde bunu kontrol etmemiz lazım.Nasıl edebiliriz.?

Compare Validator - Not Equal - String : 
Not Equal yani Eşit değildir operatörü bu doğrulama işlemi için ilk seçenek olabilir ama tek yöntem değildir.Compare (Karşılaştırma) için Not Equal(Eşit değildir) yandaki resimde gördüğünüz 5 değer tipinde kontrol işlemini yapabilmektedir.String- Currency-Date-Double-Integer tipleri Compare Not Equal için ilk örnek ve en basiti String olabilir ve kullanımı için basit  örnek ise şu şekilde olabilir.



<asp:CompareValidator ID="CompareValidator1" runat="server" 
ControlToValidate="DropDownList1" ErrorMessage="Bir meslek seçimi yapın." 
ValueToCompare="Seçiniz" Operator="NotEqual" Type="String"></asp:CompareValidator>


Yukarıdaki bulunan Compare ve Not Equal oparetörüne sahip ve string tipi ile kontrol edilmiş DropDownList seçiminde Meslek seçimi yapılmadığı için formun postback işlemi yaptırmadan kullanıcıya ErrorMessage iletisini vermiştir.Seçiniz adlı ListItem ValueToCompare="Seçiniz" veri tipiyle ve ValueToCompare ile kontrol edildiğinden Liste Seçiniz String' e sahip olmayan bir değer beklemektedir kaydın tamamlanması için kulllanıcının diğer liste elemanlarından birini seçmesi gerekecektir- ki  bizde kaydımızı doğru almış olalım.Compare Not Equal ile String tip ile işlemimiz buyken Aynı opatörü Integer ile aşağıdaki türden bir yapılandırma ile kullanabiliriz.
Compare Validator - Not Equal - Integer : 
Integer numerik tip ile DropDownList elementinin eşit olan varsayalın değerini kontrol ederek kayıt almamız için öncelikle web form içinde bulunan DropDownList elementinin yapısını biraz değiştirmeliyiz.

<asp:DropDownList ID="DropDownList2" runat="server">
              <asp:ListItem Value="0">Seçiniz</asp:ListItem>
              <asp:ListItem Value="1">Web Yazılım</asp:ListItem>
              <asp:ListItem Value="2">Sistem Uzmanı</asp:ListItem>
</asp:DropDownList>
Liste içinde bir önceki DropDownList yapısından farklı olarak VALUE="0" numerik kaynak kullanmamız bize kontrol edebilecek yeni bir parametre sağlayacaktır.Bu örneğe göre verilerimiz sayı değerleri ile alınmaktadır ve "0"değeri alındığında Error Message verilecek diğer numerik seçimlerde ise kayıt tamamlanacaktır.Not Equal ile bu işlemi bu kez Integer tip ile şu şekilde tamamlayabiliriz.

 <asp:CompareValidator ID="CompareValidator2" runat="server" 
   ControlToValidate="DropDownList2" ErrorMessage="Bir meslek seçimi yapın." 
   ValueToCompare="0" Operator="NotEqual" Type="Integer"></asp:CompareValidator>
Standart Form elementlerinin tümünde örneğin TextBox  içinde kullanılabilecek bu validator araçları Not Equal opatörünün diğer tipleri ile verileri doğrulamakta münkündür.
Range Validator - Integer : 
Range validator veri doğrulaması Integer tipi ile örnek bir uygulama aşağıdaki şekilde olabilmektedir.

<asp:RangeValidator ID="RangeValidator1" runat="server" 
   ControlToValidate="TextBox1" 
   ErrorMessage="Kodu 4 karakterden fazla ve harf içeremez." MaximumValue="9999" 
   MinimumValue="1" Type="Integer"></asp:RangeValidator>
Anlaşıldığı gibi Textbox içine kullanıcının girebileceği değer 4 karakter numeric olacaktır ve daha az karakter sayısında veya harf girildiğinde Validator yine işlemi durdurarak bu sağlamayı yapacaktır.





Range Validator - Date :
Date tipinde olan veri kontrol etmek için aşağıdaki türden bir yapılandırma yeterli olabilir.
<asp:RangeValidator ID="RangeValidator2" runat="server" 
    ControlToValidate="TextBox2" 
    ErrorMessage="Sadece 2010 yılına ait bir kayıt edebilirsiniz." MaximumValue="31.12.2010" 
    MinimumValue="01.01.2010" Type="Date"></asp:RangeValidator> 
Date tipinde de Integer tipinde olduğu gibi Maximum Value ve Minimum Value değerleri veri girişinde kontrol edilmektedir.Yukarıdaki Range Valitador Date yapılandırmasının hatalı veri girişinde aşağıdaki ileti dönecektir.






      Bu Yazının Sponsorları













Yorumlar

Bu blogdaki popüler yayınlar

Firebird SQL Table oluşturma ve SQL komutları

2 nci  Firebird SQL veritabanı blogunda bu kez mevcut Firebird veritabanına ISQL ile bağlanmayı veritabanı nesnelerini oluşturmayı (create table), Kayıt eklemeyi (ınsert) ve kayıtları izlemeyi (show) ile önemli SQL komutlarını anlatmaya çalışacağım...

Firebird Veritabanı Nedir ? Nasıl Kullanılır

Firebird ücretsiz veritabanı kullanmaya ne dersiniz.Üstelik hiç bir süre ve veri sınırı olmadan kulağa hoş geliyor değilmi.Bu Blogta Borland açık kaynak interbase 6 sürümünden sonra ortaya çıkmış ve gelişimini sürekli sürdürmüş Firebird veritabanına bir göz atıcaz. İnternet üzerinde Firebird ile kaynağa çok sık rastlamazsınız artık bu blogtan Firebird ile ilgili bilgileri takip edebilirsiniz...

Asp.Net Access veritabanina resim ve nesne kaydetmek OLE Nesnesi

Ms Access ile ilgili geçmiş yazılarım arasında biraz vakit geçirmişseniz, Ms Access form uygulamaları yada veritabanı olarak kullanmayı sevdiğimi anlamışsınızdır. Birazdan size anlatmaya çalışacağım konu Ms Access veritabanı olarak kullandığımız bir Asp.Net Web projesinde resimleri ve dosyaları paket halinde veritabanının içine gömmek olacak.Neden bilmiyorum bu konuda Türkçe kaynak yok, merak etmeyin bu yazı size iyi gelecek...