ASP.Net Validator - RequiredFieldValidator, RegularExpressionValidator, CompareValidator

  • 22.07.2012 01:43
  • ASP.Net
  • 13847

ASP.Net ValidatorBu makalemizde ASP.Net Validator kontrollerinden bahsedecegiz. Makale içerisinde RequiredFieldValidator, RegularExpressionValidator, CompareValidator konrolleri hakkinda genis bir bilgiyi bulabilirsiniz.Asp.Net Validator kontrolleri ile kullaniciya bazi kisimlari kisitlayabilir veya istedigimiz alanlara istedigimiz bilgilerin girilmesini zorunlu hale getirebiliriz.

Genelde projelerimizde asagidaki validatorlere ihtiyacimiz olur:

  • Kullanici ad-soyad gibi bilgileri bos geçemesin.
  • Kullanici sifresini belirli bir karakter kadar girsin, içerisinde özel karakter olsun veya olmasin, veya en az bir rakam bulunsun.
  • Eger bir combobox, dropdownlist kullaniyorsak,mutlaka bir seçim yapsin.
  • E-Mail girisi yapilmasini istiyorsak, dogru bir mail adresi girsin.
  • Sifre dogrulamasi yaptiracaksak, sifre ve sifreyi dogrulayan textboxlardaki veriler ayni olsun.
  • Telefon numarasi girilmesini istiyorsak, belli bir formatta olsun gibi kendi sartlarimizi olustururuz.

Ben bu makalede genelde en çok kullandigimiz validatorleri anlatmaya çalisacagim. Projede kullandigim "Üyelik Formu" sayfasini da makalenin altindaki linkten indirebilirsiniz arkadaslar.

Bir projede bos geçilmesini istemedigimiz alanlara veri girilmesini zorunlu hale getirmek istiyorsak RequiredFieldValidator kontrolünü kullaniriz. Böylece kullanici istedigimiz kontrole istedigimiz veriyi girmeden formu submit edemeyecektir. Asagida bir ad textbox nesnesine atadigimiz RequiredFieldValidator kontrolünün kullanimini görebilirsiniz.

Bos geçilmesini istemedigimiz bir bölümde RequiredFieldValidator kullanimi:

<div class="baslik">Adiniz:</div><div class="nesne">

        <asp:TextBox ID="txtAdi" CssClass="textBox"runat="server"/>

        <asp:RequiredFieldValidatorID="rTextAdi"CssClass="val"ErrorMessage="Zorunlu"

ControlToValidate="txtAdi"runat="server"/>

    </div>

Yukaridaki bölümde, txtAdi idsi ile bir textbox eklemisiz. Ve hemen altinda bir RequiredFieldValidator kontrolü eklemisim. Bu kontrolün ControlToValidate özelligine, eklemis oldugum txtAdi kontrolünün id'sini yazarak bunu kontrol etmesini istedigimi belirtiyorum. ErrorMessage özelligine ise kullanici benim sartlarima uymazsa görecegi uyariyi yaziyorum. CssClass özelligine ise bir tasarim yaptiysak bunu verebiliriz. Ben burada görsellik katmasi ve göze hos gelmesi açisindan bir css tanimlamasi da yaptim. Bunu da yukaridaki resimden görebilir, kaynak kodu inceleyerek bilgi sahibi olabilirsiniz.

Eger ihtiyacimiz olan bir email-dogrulamasi veya kendi belirledigimiz formatta bir textbox ise bu RegularExpressionValidator kontrolünü kullaniyoruz. RegularExpressionValidator kontrolü kendisine verdigimiz ValidationExpression özelligine bakarak girilen degerin formata uygun veya uygun olmadigini kontrol ediyor.

E-mail dogrulamasi için RegularExpressionValidator kullanimi:

<div class="nesne">

        <asp:TextBox ID="txtEposta"CssClass="textBox"runat="server"/>

        <asp:RequiredFieldValidatorID="reposta"CssClass="val"ErrorMessage="Zorunlu"

ControlToValidate="txtEposta"runat="server"/>

        <asp:RegularExpressionValidatorID="repostaEx"ErrorMessage="E-mailGeçersiz" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"CssClass="val"ControlToValidate="txtEposta"runat="server"/>

    </div>

 

Telefon numarasi girilecek nesneye uygulanan RegularExpressionValidator:

<div class="nesne">

        <asp:TextBox ID="txtTel" CssClass="textBox"runat="server"/>

        <asp:RequiredFieldValidatorID="rTel"CssClass="val"ErrorMessage="Zorunlu"ControlToValidate="txtTel"

runat="server"/>

        <asp:RegularExpressionValidatorID="rTelD"ErrorMessage="555-555-55-55seklinde girin" CssClass="val"

ValidationExpression="^\d{3}-\d{3}-\d{2}-\d{2}$" ControlToValidate="txtTel"runat="server"/>

    </div>

Eger sifre girisi ve girilen bu sifreyi dogrulamak için ikinci bir giris istiyorsak CompareValidator kontrolünü kullaniriz. CompareValidator nesnesinin ControlToCompare özelligine ilk giris yapilan kontrolün id'sini, ControlToValidate özelligine ise dogrulama yapacak olan kontrolün idsini vererek ikisinin dogrulanmasini yapmis oluruz. Bunu da asagidaki bölümde inceleyebilirsiniz:

Validator kullanilarak sifre dogrulama:

<div class="nesne">

        <asp:TextBox ID="txtSifre"CssClass="textBox"runat="server"

            TextMode="Password"/>

        <asp:RequiredFieldValidatorID="rsifre"CssClass="val"ErrorMessage="Zorunlu"ControlToValidate="txtSifre"

runat="server"/>

        <asp:RegularExpressionValidatorID="rsifre2"CssClass="val"ErrorMessage="Enaz 6 karakter ve bir rakam olmali"ValidationExpression="(?!^[0-9]*$)(?!^[a-zA-Z]*$)^([a-zA-Z0-9]{6,20})$"ControlToValidate="txtSifre"runat="server"/>

    </div>

    <div class="baslik">SifreDogrula:</div>

    <div class="nesne">

        <asp:TextBox ID="txtSifreDogrula"CssClass="textBox"runat="server"

            TextMode="Password"/>

 

<asp:RequiredFieldValidator ID="rSifreDd" CssClass="val" ErrorMessage="Zorunlu" ControlToValidate="txtSifreDogrula" runat="server" />

 

        <asp:CompareValidatorCssClass="val"id="rdogrula"runat="server"ControlToCompare="txtSifre"

ControlToValidate="txtSifreDogrula" ErrorMessage="Sifreleruyusmuyor"/>

    </div>

Ve son olarak dropdownlist kontrollerinde validator kullanimina geçiyoruz. Dropdownlist kontrollerini sarta baglamak için yine RequiredFieldValidator kontrolünü kullaniyoruz. Ancak sadece seçili kalmasini istemedigimiz degeri InitialValue degerine atiyoruz. Böylece eger kullanicidan "Gün" seçmesini istiyorsak ve DropDownList kontrolünün de selectedItem özelliginde "Gün" seçili ise kullaniciya seçim yapmasi için uyari verecektir. Bunu da asagidan inceleyerek daha akilda kalici olmasini saglayabilirsiniz:

DropDownList ile validator kullanimi:

<div class="baslik">Dogum Tarihiniz:</div><div class="nesne">

        <asp:DropDownList ID="ddlGun" runat="server"CssClass="textBox">

            <asp:ListItem Text="Gün" />

        </asp:DropDownList>

        <asp:RequiredFieldValidatorID="RequiredFieldValidator1"InitialValue="Gün"CssClass="val"

ErrorMessage="GunSeçiniz" ControlToValidate="ddlGun" runat="server" />

</div>

ASP.Net Validator makalesinin de sonuna geldik. Bu makalede dilimin döndügü kadar anlatmaya çalistim. Zaten kaynak kodlari da incelerseniz daha akilda kalacaktir. Ayrica ekteki örnek sayfayi istediginiz gibi kullanabilirsiniz. ASP.Net Validator makalesinde anlamadiginiz veya anlatamadigimi düsündügünüz kisimlari mail atarak veya online olarak msnden yazarsaniz destek vermeye çalisacagimdan emin olabilirsiniz.

Link verecekseniz lütfen kaynak belirtin arkadaslar. Kolay Gelsin.

ASP.NET Validator Kullanimi Kaynak Kodlar - Indir

Bu yazıya yapılan yorumlar:

  • Yavuz Aydoğan

    21.12.2013 09:51

    Mustafa Bey; yorumunuz için öncelikle tesekkür ederim. Örnek projeyi indirip inceleyebilirsin. Yine sorun yasarsaniz, tekrar yardimci olabilirim. Görseller, css, kodlari kendi projenize ekleyerek te kullanabilirsiniz, herhangi bir yasak veya kisitlama yok bilginize. Saygilar.

  • mustafa bükülmez

    20.12.2013 20:29

    öncelikle sa emeginize saglik çok güzel bir anlatim olmus fakat ben bir kaç sorunla karsilastim bu uygulamalarda. 1- sifreler uyusmayinca hata veriyor tamam ama sifreleri dogru yaptigimda hata mesaji kaybolmuyor ve kayit butonuna bastikgimda hiçbir islem yapmiyor... 2- kullanici adi alani bos geçilemez olarak bir hata mesaji verdirttim fakat dolu olsa bile hata veriyor... 3- email de geçerlilik kontrolu yaptirdim ama geçerli bir email girilse bile geçerli bir email giriniz(yani benim göstermek istedigim hata) diyor bu sorunlari nasil asabiliriz

Siz de düşüncelerinizi yazabilirsiniz:

;