Asp.Net Validation Kontrolleri

Asp.Net tabanlı sitelerde işinize çok yarayacak bir makale daha sizlerin huzuruna sunmaktan çok mutluyum ha. Bu kontrollerde nerelerde işinize yarar ? Mesela zorunlu alanlarınız var, kullanıcı bunları girmediği zaman bir hata ile karşılamak yerine güzel bir mesajla doğru yola dönebilir. Ya da aynı adda dosya yüklenmesini de bu kontroller sayesinde rahatça engelleyebilirsiniz. Ve bunun qibi birçok olay hadi kolay qele …

A handa Validation Kontrolleri

Örneklerimizi yandaki örneğimize göre anlatacağız.

Sayfaya (Adı)TextBox1.text, (Soyadı) TextBox2.Text, (E-Posta)TextBox3.Text, (Şifre)TextBox4.Text, (Şifre Tekrar)TextBox5.Text ve Buton ekledik.
1. Compare Validator: Karşılaştırma kontrolüdür. Web Sayfalarında sıkça karşılaşılan bir kontroldür. Yandaki Örnekte Şifre ve Şifre Tekrarı alanlarına şifrenin doğruluğunu, her iki textbox’ı bu kontrolü kullanarak karşılaştırabiliriz.

Eğer her iki alana şifleriniz aynı girmediyseniz aşağıdaki gibi bir hata alırsınız. Tabi buradaki uyarı siz belirliyorsunuz ben örnek olarak “Şifreniz Uyuşmuyor” şeklinde yazdım.

Bu ve buna benzer karşılaştırmalar yapabilirsiniz.

Kontrole ait bazı özellikler;

ControlToValidate: Hangi form elemanı kontrol edilecekse o formun ID si yazılır. Örneğin biz Textbox4.Text’ in kontrol edilmesini sağladık.

ControlToCompare: Karşılaştırılacak Form elemanının ID si yazılır. Örneğin biz TextBox4.Text in TextBox5.Text ile karşılaştırılmasını istedik. Dolayısıyla ControlToCompare ye TextBox5.Text ID sini belirtik.

Text: Ekranda gözükecek olan Hata mesajı yazılır.

Type: Karşılaştırılacak olan veri tipi belirtilir. (integer, string gibi)

Not: Yukarıdaki açıkladığımız özelliklerin bazıları diğer geçerlilik kontrolleri içinde ortaktır.

2. Range Validator: Sayfayaeklediğimiz kontrollere ait önceden belirtilen tipteki değer aralığının kontrolünü sağlar. Örneğin sayfamıza bir TextBox. text birde Buton ekleyelim. Ve Propertieste Öncelikle ControlToValidat seçeneğinden kontrol edilecek olan sayfamızdaki kontrolü seçiyoruz(TextBox1.Text). Daha sonra Propertieste MaximumValue değeri ve MinimumValue aralıklarını giriyoruz örneğin MaximumValue değerine 100,MinimumValuedeğerinde 0 girelim. Burada dikkat etmemiz gerekeken nokta veri tipini belirtmek. Biz Integer bir değer kullanacığımız için Veri tipini (Type) Integer olarak belirliyoruz.

Biz sayfamız eklediğimiz TextBox. Text kontrolüne dışarıdan 0 – 100 Aralığı dışında bir değer girecek olursak bize hata verecek. 0 – 100 Aralığında bir değer girersek işlemi doğru uygulamış oluruz ve hiçbir hata ile karşılaşmayız. Bu örneği yazımızın başında belirtmiş olduğum örnekten ayrı bir örnekte veriyorum. Yukarıda belirtmiş olduğum örnek görünüm ise aşağıdaki gibidir.

https://i2.wp.com/resim.sanalkurs.net/uploads/Range1.jpg

Gördüğümüz gibi önceden belirtilen değer Aralığımız 0 ile 100 olduğu için bu değer aralığı dışında bir değer girdiğimizde yukarıdaki gibi uyarı alırız. Eğer girdiğimiz değer 0-100 arasında bir değer ise uyarı vermeyecektir.

3. RequiredFieldValidator: Diğer geçerlilik kontrollerinden farklı olarak olarak bu kontrol kullanıcının dışarıdan veri girilip girilmediğini kontrol eder. Örnek uygulamamızda Ad, Soyad, E-Posta ve şifre girişlerinden Herhangi birine değer girmediğimizde bizi uyarır. Tek bir alanı kontrol edebileceğiniz gibi, birden fazla alanıda kontrol edebilirsiniz. Örneğin Ad, Soyad, E-posta ve Şifre alanlarının hepsini kontrol edebiliriz veya Girilmesi Zorunlu olan alanları belirtip bu alanları kontrol edebiliriz tamamen size kalmış bir tercih. Öncelikle değer girmeden kaydet diyelim.

Görülüğü gibi hiçbir alana değer girilmemiş ve bu alanların boş geçilemeyeceği ni veya bu alanları girmediniz gibi bize bilgi verir. Kullanıcıları bu kontrolle bilgi girişine zorlayabilirsiniz.

Gelin bir de “E-Posta” alanı hariç tüm alanlara değer girelim, bir de öyle sonuca bakalım.

Bir çok özelliğe sahip bu kontrole basit olarak E-Posta adresini vereceğiz. Bu kontrol Karakter kontrolü yapar. Örneğin uygulamamızdaki E-Posta alanına uygun formatta e-posta adresi girilip girilmediğini kontrol edelim. Burada kontrol edilecek karakterler “@” ve “.” Karakterleridir. E-Posta Alanı yanına Regular Expression Validator kontrolümüzü ekliyoruz veControlToValidat özelliğini önceden belirlediğimiz TextBox3.Text seçiyoruz. Çünkü bu alanı kontrol edeceğiz. Daha sonra ValidationExpress ten İnternet e-mail adres seçiyoruz.

Ekranda hemen altta gördüğünüz tanım ise bizim e-posta adresimizdeki “@” ve “.” Karakterlerini kontrol eden bir tanım görüyorsunuz.

w+([-+.']w+)*@w+([-.]w+)*.w+([-.]w+)*

Not: E-mail adresinden başka RegularExpression Editor de birçok seçenek mevcuttur. Posta kodu kontrolü, Telefon numarası v.b uygulamaları kontrol edebiliriz.

Dikkat ettiyseniz “.” Karakterini kullanmadım ve Uyarı verdi.

4. Custom Validation: Bu kontrol diğer geçerlilik kontrollerinin dışında bir kontrol tanımlanması gerekiyorsa bu kontrol kullanılır. Diğer kontrollerde olduğu gibi bu kontrolde de Text ve ValidateControl aynı şekilde kullanılabilir.

5. ValidationSummary: Evet arkadaşlar şuana kadar anlatmış olduğumuz tüm geçerlilik kontrollerinin belli amaçlara göre kullanıldığını gördük. Ancak ValidationSummary kontrolü diğer geçerlilik kontrollerinin Hata mesajlarını ErrorMessage bilgilerin özetinin verildiği kısımdır. Uygulamamızda ki geçerlilik kontrollerinin ErrorMessage bilgilerini bir arada belirtebiliriz. Bunun için eklemiş olduğumuz geçerlilik kontrolerininTextÖzelliğiNE “*” karakterini girerek önemli bir durumun veya hatanın olduğunu belirterek ErrorMessage bilgilerini Özet alanında görüntüleyebiliriz.

Umarım işinize yarar ha.