ASP.NET - Validation - CompareValidator Kullanımı

CompareValidator, karşılaştırma olarak da bilinen kullanıcı tarafından girilen girilen iki değerin karşılaştırılması veya uygulamamızdaki bir kontrolün, belirlenmiş bir değerle karşılaştırmasını sağlayan validation kontrolüdür.

En bilinen örneği şifre ve şifre tekrar alanlarına girilen değerin birbirleri ile eşleşip eşleşmediğinin kontrolünün yapılmasıdır. Eğer eşleşmiyorsa uyarı mesajı verecektir.

Propertyler

ErrorMessage: Bu alanda eşleşme olmadığında çıkacak yazı vardır.Bu alana istediğiniz yazabilirsiniz.

ControlToValidate: Doğrulama yapmak istediğimiz kontrolü belirtiriz.Neyi karşılaştırıyoruz sorusunun cevabıdır.


ControlToCompare : İlk alanın karşılaştırma yapacağı ikinci alan olan kontrol belirtilir.Ne ile karşılaştırıyoruz sorusunun cevabıdır. 
ValueToCompare ile sabit bir değer karşılaştırılacaksa bu alana belirtilir. ControlToValidate'de belirttiğimiz kontrole girilen değer ile sabit değer eşleşmiyorsa uyarı mesajı görüntülenir.
Operator: Karşılaştırma ne yönden yapılacak sorusunun cevabıdır. Eşitlik için Equal, büyüklük veya küçüklük için GreaterThan veya LessThan seçenekleri seçilir. Şifre ve şifre tekrar alanları için Equal değeri seçilir.

Örneğimize bakacak olursak.Şifre ve Şifre Tekrar için CompareValidator kontrolünü yaptım.

   <form id="form1" runat="server">
        <div>
            <asp:Label ID="Label1" runat="server" Text="Şifre"></asp:Label>
            <asp:TextBox ID="txtSifre" runat="server"></asp:TextBox>
            <br />
            <asp:Label ID="Label2" runat="server" Text="Şifre Tekrar"></asp:Label>
            <asp:TextBox ID="txtSifreTekrar" runat="server"></asp:TextBox>
            <asp:CompareValidator ID="CompareValidator1" runat="server" ErrorMessage="Şifreler Eşlelşmiyor!!!" ControlToCompare="txtSifreTekrar" ControlToValidate="txtSifre"></asp:CompareValidator>
        </div>
        <asp:Button ID="Button1" runat="server"  OnClick="Button1_Click" Text="Button"   />
    </form>

Örneğimizin sonucu görseldeki gibidir. Eşleşmediği için uyarı çıktı. Ben TextBox'ların TextMode özelliğine Password değerini verseydim şifreleri göremeyecektim. Değerlerin farklı olduğunu görmemiz için SingleLine değerini değiştirmedim.Gerçek bir uygulamada buna dikkat etmeliyiz.


Yorumlar