TuZaKK 1
TuZaKK
sermin 1
sermin
berkmenoo 1
berkmenoo
mannaxxx 1
mannaxxx
Agora Metin2 1
Agora Metin2
[DEV]AB 1
[DEV]AB
kaptanmikro1 1
kaptanmikro1
Hikaye Ekle

Validation Controls - Doğrulama Kontrolleri - Asp.NET Dersleri

  • Konuyu başlatan Konuyu başlatan VexraDev
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 2
  • Görüntüleme Görüntüleme 225

Türkiye'de ilk Mobil & PC Aynı Anda Metin2 Oyna. Triarchonline kalıcı ve uzun ömürlü yapısı ile 24 Temmuz'da açılıyor. | 1-99 Mobil Metin2 Triarch HEMEN TIKLA!

Validation Controls - Doğrulama Kontrolleri Nedir?
Kullanıcılardan bilgi almak amacıyla sayfamıza yerleştirdiğimiz kontrollerin boş bırakılması ya da istenenden farklı türde veri girilmesi bizim için problem yaratabilir.
Örneğin bir metin kutusunun boş bırakılması veya e-posta adresinin kurallara uygun girilmemesi gibi durumlara karşı önlem almamız gerekir.
Böyle durumlarda doğrulama kontrollerini kullanmak (validation controls) işimizi oldukça kolaylaştırır.
Bu kontroller bağlı oldukları elemanı kontrol ederek istenen şart sağlanmadığında sayfanın sunucuya gönderilmesini engeller ve oluşan hata ile ilgili kullanıcıya mesaj verirler.


Doğrulama kotrolleri ToolBox üzerindeki Validation Controls kategorisinden sayfaya eklenip, özellikleri properties panelinden düzenlenebilir.

oeIjPt.jpg


Not: Visual Studio 2012 ve sonraki versiyonlarda doğrulama kontrolleri çalışmıyor ve aşağıdaki gibi bir hata mesajı alıyorsanız;
WebForms UnobtrusiveValidationMode, 'jquery' için bir ScriptResourceMapping gerektiriyor. Lütfen jquery büyük/küçük harfe duyarlı) adında bir ScriptResourceMapping ekleyin.
Bir sonraki konumu inceleyin.

RequiredFieldValidator
Kontrolün boş bırakılmamasını sağlamak için kullanılır.
ControlToValidate özelliği ile hangi kontrolü denetleyeceği belirtilir.
ErrorMessage özelliği hata durumunda verilecek mesajı belirler Text özelliğine ise ilk anda görünmesini istediğimiz metni yazabiliriz.

Kod:
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="TextBox1" ErrorMessage="İsminizi yazmadınız." ForeColor="Red" ValidationGroup="aa">*</asp:RequiredFieldValidator>

RangeValidator
Bir kontrole girilen verinin istenilen aralıkta olup olmadığını denetler.
ControlToValidate özelliği ile hangi kontrolü denetleyeceği belirtilir.
ErrorMessage özelliği hata durumunda verilecek mesajı belirler. Text özelliğine ise ilk anda görünmesini istediğimiz metni yazabiliriz.
Type özelliği ile verinin türü (string, integer, date gibi) MaximumValue özelliği ile girilebilecek en yüksek değer, MinimumValue özelliği ile de girilebilecek en düşük değer belirtilir.

Kod:
<asp:RangeValidator ID="RangeValidator1" runat="server" ControlToValidate="TextBox3" ErrorMessage="Yaşınız hatalı" ForeColor="#FF3300" MaximumValue="150" MinimumValue="18" Type="Double" ValidationGroup="aa">*</asp:RangeValidator>

CompareValidator
Üye kaydı sırasında parola ya da e-posta bilgisinin tekrar edilmesi istendiğinde, iki kontrole girilen verileri karşılaştırmak için kullanılır.
ControlToValidate özelliği ile hangi kontrolü denetleyeceği belirtilir.
ControlToCompare özelliği ile de hangi kontrol ile karşılaştırılacağı belirtilir.
ErrorMessage özelliği hata durumunda verilecek mesajı belirler Text özelliğine ise ilk anda görünmesini istediğimiz metni yazabiliriz.

Kod:
<asp:CompareValidator ID="CompareValidator1" runat="server" ControlToCompare="TextBox4" ControlToValidate="TextBox5" ErrorMessage="İki Parola Aynı Olmalıdır." ForeColor="Red" ValidationGroup="aa">*</asp:CompareValidator>

RegularExpressionValidator
Girilen metnin kurallı bir ifadeye uygun olup olmadığını denetler. Örneğin e-posta adresi, internet adresi, telefon numarası gibi belli bir düzene göre girilmesi gereken metinlerin hatalı girilip girilmediğini kontrol eder.
ControlToValidate özelliği ile hangi kontrolü denetleyeceği belirtilir.
ValidationExpression özelliğine tıklayarak kutuya girilen bilginin hangi kurala uyması gerektiğini seçeriz Örneğin Internet E-mail Adress seçeneğini seçersek, girilen metnin e-posta adresi kurallarına uygun olup olmadığını denetler.
ErrorMessage özelliği hata durumunda verilecek mesajı belirler. Text özelliğine ise ilk anda görünmesini istediğimiz metni yazabiliriz.

Kod:
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate="kutuEposta" ErrorMessage="Hatalı E-Posta" ForeColor="#FF0066" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" ValidationGroup="aa">*</asp:RegularExpressionValidator>

CustomValidator
Programcıların veri kontrolü için kendi yazdığı fonksiyonları kullanmasına olanak verir.
ValidationSummary
Sayfadaki tüm doğrulama kontrollerinin ürettiği hata mesajlarının tek bir yerde toplanmasını sağlar.
Doğrulama kontrollerinin Text özelliklerine “*” yazılıp, ErrorMessage özelliklerine de hata mesajlarını girmişsek, sayfada hata oluştuğunda * metinleri doğrulama kontrollerini koyduğumuz yerde hata mesajları ise ValidationSummary kontrolünü koyduğumuz yerde görünecektir.
Validation Summary nesnesinin doğru çalışabilmesi için bu nesnenin ve diğer doğrulama elemanlarının ValidationGroup özelliklerine aynı değerin atanması gerekir.
ValidationGroup Özelliği
Bir sayfada farklı amaçla iki form kullanılmış ise, örneğin sayfanın bir bölümünde iletişim formu, bir bölümünde ise kayıt formu varsa;
Bu durumda butonlardan birine tıklandığında, diğer bölümdeki doğrulama kontrolleri de devreye girecek ve bilgilerin gönderilmesini engelleyecektir.
Bunun önüne geçmek için ValidationGroup özelliği kullanılır. Aynı gruptaki doğrulama kontrollerinin hepsine aynı ValidationGroup değeri atanır.
Her grubun butonuna da aynı değerin atanması unutulmamalıdır Bu sayede hangi butona tıklandığında hangi doğrulama kontrollerinin çalışacağı belirlenmiş olur.
Örnek Uygulama:

oeIiuN.jpg


Yukarıya ait kodlar;

Kod:
<h1>İletişim</h1>
        <table cellpadding="3" cellspacing="0" class="auto-style1">
            <tr>
                <td class="auto-style2">Adınız:</td>
                <td>
                    <asp:TextBox ID="kutuAdi" runat="server"></asp:TextBox>
                    <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="kutuAdi" ErrorMessage="Adınızı Girmediniz." ForeColor="#FF0066" ValidationGroup="aa">*</asp:RequiredFieldValidator>
                </td>
            </tr>
            <tr>
                <td class="auto-style2">E-Posta:</td>
                <td>
                    <asp:TextBox ID="kutuEposta" runat="server" Width="254px"></asp:TextBox>
                    <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="kutuEposta" ErrorMessage="E-Posta Giriniz" ForeColor="#FF0066" ValidationGroup="aa">*</asp:RequiredFieldValidator>
                    <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate="kutuEposta" ErrorMessage="Hatalı E-Posta" ForeColor="#FF0066" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" ValidationGroup="aa">*</asp:RegularExpressionValidator>
                </td>
            </tr>
            <tr>
                <td class="auto-style2">Parola:</td>
                <td>
                    <asp:TextBox ID="kutuParola" runat="server" TextMode="Password"></asp:TextBox>
                    <asp:RequiredFieldValidator ID="RequiredFieldValidator5" runat="server" ControlToValidate="kutuParola" ErrorMessage="Parola giriniz" ForeColor="#FF0066" ValidationGroup="aa">*</asp:RequiredFieldValidator>
                </td>
            </tr>
            <tr>
                <td class="auto-style2">Parola Tekrar:</td>
                <td>
                    <asp:TextBox ID="kutuParola2" runat="server" TextMode="Password"></asp:TextBox>
                    <asp:RequiredFieldValidator ID="RequiredFieldValidator6" runat="server" ControlToValidate="kutuParola2" ErrorMessage="Parolayı tekrar giriniz" ForeColor="#FF0066" ValidationGroup="aa">*</asp:RequiredFieldValidator>
                    <asp:CompareValidator ID="CompareValidator1" runat="server" ControlToCompare="kutuParola" ControlToValidate="kutuParola2" ErrorMessage="Parolalar eşleşmiyor" ForeColor="#FF0066" ValidationGroup="aa">*</asp:CompareValidator>
                </td>
            </tr>
            <tr>
                <td class="auto-style2">Yaşınız:</td>
                <td>
                    <asp:TextBox ID="kutuYasi" runat="server" Width="60px"></asp:TextBox>
                    <asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ControlToValidate="kutuYasi" ErrorMessage="Yaşınızı Giriniz" ForeColor="#FF0066" ValidationGroup="aa">*</asp:RequiredFieldValidator>
                    <asp:RangeValidator ID="RangeValidator1" runat="server" ControlToValidate="kutuYasi" ErrorMessage="Yaşınızı doğru giriniz." ForeColor="#FF0066" MaximumValue="150" MinimumValue="0" ValidationGroup="aa">*</asp:RangeValidator>
                </td>
            </tr>
            <tr>
                <td class="auto-style2">Mesajınız:</td>
                <td>
                    <asp:TextBox ID="kutuMesaj" runat="server" Height="126px" TextMode="MultiLine" Width="267px"></asp:TextBox>
                    <asp:RequiredFieldValidator ID="RequiredFieldValidator4" runat="server" ControlToValidate="kutuMesaj" ErrorMessage="Mesaj Yazınız." ForeColor="#FF0066" ValidationGroup="aa">*</asp:RequiredFieldValidator>
                </td>
            </tr>
            <tr>
                <td class="auto-style2">&nbsp;</td>
                <td>
                    <asp:Button ID="Button1" runat="server" Text="Gönder" ValidationGroup="aa" />
                </td>
            </tr>
            <tr>
                <td  colspan="2">
                    <asp:ValidationSummary ID="ValidationSummary1" runat="server" ForeColor="#FF0066" HeaderText="Şu Hatalar Oluştu:" ValidationGroup="aa" />
                </td>
            </tr>
        </table>
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst