İster sunucu tarafında ister istemci tarafında yapılsın, çok fazla düşünmeye gerek yok ve programcılar ana programın tasarımına odaklanabilir.
ASP.NET kamuya açık olarak altı doğrulama kontrolüne sahiptir ve bunlar şunlardır:
Kontrol Adı Fonksiyonu açıklaması RequiredFieldValidator, bir giriş değeri olup olmadığını kontrol etmek için kullanılır CompareValidator, iki girişi küme olarak karşılaştırır RangeValidator Belirtilen aralıkta olup olmadığını Girin RegularExpressionValidator: Düzenli ifade doğrulama kontrolü CustomValidator: Özel doğrulama kontrolleri ValidationSummary, doğrulama sonuçlarını özetler
Bu kontrollerin nasıl kullanıldığına bir göz atalım:
1. RequiredFieldValidator'u kullanın
RequiredFieldValidator kontrolü tarafından kullanılan standart kod aşağıdaki gibidir:
<ASP:RequiredFieldValidator id="Validator_Name" runat="Sunucu" ControlToValidate="Kontrol edilecek kontrol adı" ErrorMessage="Hata Mesajı" display="Statik| Dimatik| Hiç yok"
> Yer Tutucular </ASP: RequiredFieldValidator >
Yukarıdaki standart kodda: ControlToValidate: Kontrol kimliğinin kontrol edileceğini gösterir; ErrorMessage: Kontrol yasal olmadığında çıkan hata mesajını gösterir; Display: Hata mesajının nasıl gösterildiği; Statik, kontrol hata mesajının sayfada olumlu bir yerde olduğunu gösterir; Dymatic, sayfa kontrolünün yalnızca bir kontrol hatası mesajı göründüğünde dagir edilmesi anlamına gelir; Hiç, hata göründüğünde görüntülenmediği anlamına gelir, ancak ValidatorSummary'de görüntülenebilir; Yer Tutucu: Ekran Statik olduğunda, hata mesajı "yer tutucu" kadar büyük bir sayfa alanını kaplar;
Şimdi bir örneme bakalım: <ASP:TextBox id="txtName" RunAt="Sunucu"/> <ASP:RequiredFieldValidator id="Validator1" runat="Sunucu" ControlToValidate="txtName" ErrorMessage="İsim girilmeli" display="statik"> *İsim girilmelidir </ASP:RequiredFieldValidator>
Yukarıdaki örnekte, txtName kontrolü girilip girilmediğini kontrol edin; girilmediyse "İsim girilmeli" hata mesajı gösterilir. Basit değil mi? Not: Yukarıdaki kod ve aşağıdaki diğer kontrollerin kodları en iyi şekilde Form'a koyulmalıdır, ASP'nin aksine, Form en iyi şekilde yazılmalıdır: <Form RunAt="Sunucu"> Diğer kodlar </Form> Bu şekilde, form sunucu tarafında yürütülür ve commit geçerli olur;
2. CompareValidator kontrolü
Kontrolleri karşılaştır İki kontrolün girişlerinin program ayarlarına uyup uymadığını karşılaştırın, karşılaştırmayı sadece "eşit" olarak anlamayın, eşitlik en çok kullanılan olsa da, aslında burada karşılaştırma geniş bir aralığı kapsar, standart koda bakarak anlayabilirsiniz.
Karşılaştırma kontrolleri için standart kod şöyledir: <ASP:CompareValidator id="Validator_ID" RunAt="Sunucu" ControlToValidate="Doğrulama için Kontrol Kimliği" errorMessage="Hata Mesajı" ControlToCompare="Control ID karşılaştırma" type="String| Tam sayı| Double| DateTime| Para birimi" operator="Eşit| NotEqual| GreaterThan| GreaterTanEqual| LessThan| EqualEqual'dan Küçük| DataTypeCheck" display="Statik| Dimatik| Hiç yok"
> Yer Tutucular </ASP:CompareValidator>
Yukarıdaki standart kodda: Tip, karşılaştırılacak kontrol verisi türünü gösterir; Operatör, karşılaştırma işlemi anlamına gelir (yani karşılaştırmanın sadece "eşit" olmaması nedeni), burada karşılaştırmanın 7 yolu vardır; Diğer özellikler RequiredFieldValidator ile aynıdır; Burada, ControlToValidate ile ControlToCompare arasındaki farka dikkat edin, eğer Operation GreateThan ise, o zaman ControlToCompare yasal olması için ControlToValidate'den büyük olmalıdır, şimdi, ikisinin anlamını anlamanız gerekir, değil mi? Örneğin, lütfen RequiredFieldValidator kontrolüne bakın ve standart kod üzerinde kendi kontrolünü tasarlayın.
3. RangeValidator kontrolü
Girdinin belirli bir aralık içinde olduğunu doğrulayın, bu aralık MaximumValue ve MinimunVlaue tarafından belirlenir ve standart kod şu şekildedir:
<ASP:RangeValidator id="Vaidator_ID" runat="Sunucu" controlToValidate="Control ID to validate" type="Tam sayı" MinimumValue="Minimum" MaximumValue="Maximum" errorMessage="Hata Mesajı" display="Statik| Dimatik| Hiç yok"
> Yer Tutucular </ASP:RangeValidator>
Yukarıdaki kodda: Minimum Değer ve MaximumValue ile kontrol girdilerinin değer aralığını tanımlamak, tip ise kontrol giriş değerlerini tanımlamak için kullanılır.
4. RegularExpresionValidator (düzenli ifade) kontrolü
Düzenli ifade doğrulama kontrolü çok güçlü, doğrulama yöntemini kendiniz kolayca oluşturabilirsiniz, önce standart kodu inceleyelim:
<ASP:RegularExpressionValidator id="Validator_ID" RunAt="Sunucu" ControlToValidate="Kontrol adını doğrulamak için" ValidationExpression="Düzenli İfade" errorMessage="Hata Mesajı" display="Statik"
> Yer Tutucular </ASP:RegularExpressionValidator>
Yukarıdaki standart kodda odak noktası ValidationExpression'dır, şimdi yapısına bakalım: ValidationExpression'da, farklı karakterler farklı anlamları temsil eder: "." Keyfi karakterleri temsil eder; "*" diğer ifadelerle kolayca birleştirilebileceği anlamına gelir; "[A-Z]" herhangi bir büyük harfi gösterir; "\d" kolay sayı anlamına gelir; Yukarıdaki ifadede tırnak işareti dahil edilmemiştir; Örnek: Düzenli ifade: ".*[A-Z]" bir numara ile başlayan ve ardından büyük harfle başlayan herhangi bir karakter kombinasyonunu gösterir.
5. DoğrulamaÖzet kontrolü
Bu kontrol, bu sayfa için tüm doğrulama hata bilgilerini toplar ve ileride görüntülenmek üzere organize edebilir. Standart kodu şöyledir:
<ASP:ValidationSummary id="Validator_ID" RunAT="Sunucu" HeaderText="Başlık Bilgisi" GösteriÖzet="Doğru| Yanlış" DiaplayMode="Liste| BulletList| SingleParagraph"
> </ASP: DoğrulamaÖzet > Yukarıdaki standart kodda, HeadText tablodaki headText ile eşdeğerdir ve DisplayMode hata bilgisinin görüntülenmesini temsil eder: List, <BR> HTML'deki ile eşdeğerdir; BulletList <LI> , HTML'deki eşdeğerdir; SingleParegraph, hata mesajları arasında bölünme yapılamayacağı anlamına gelir;
6. CustomValidator kontrolü
Kontrol, kimlik doğrulama yöntemini tanımlamak için özel bir fonksiyon kullanır ve standart kodu şöyledir:
<ASP:CustomValidator id="Validator_ID" RunAt="Sunucu" controlToValidate="Control to validate" onServerValidateFunction="Fonksiyonu Doğrula" errorMessage="Hata Mesajı" display="Statik| Dimatik| Hiç yok"
> Yer Tutucular </ASP: CustomValidator >
Yukarıdaki kodda, kullanıcı girdiyi doğrulamak için bir fonksiyon tanımlamalıdır.
7. Özet ASP.NET doğrulama kontrolleri getirildiğinde, güçlü bulabilir ve bir daha doğrulama konusunda endişelenmezsiniz. Tabii ki, yukarıdaki giriş çok detaylı değil ve incelikler Microsoft'un SDK'sını kendiniz okumanız için de isteniyor.
======================= Ek: asp.net doğrulama kontrollerinde yaygın olarak kullanılan düzenli ifadeler ======================
asp.net doğrulama kontrollerinde yaygın olarak kullanılan düzenli ifadeler:
Sadece numaraları girin: "^[0-9]*$"
Yalnızca n haneli sayılar girilebilir: "^\d{n}$"
Sadece en az n rakam girin: "^\d{n,}$"
Yalnızca m-n rakamındaki sayılar girilebilir: "^\d{m,n}$"
Yalnızca sıfır ile başlayan ve sıfır olmayan sayılar girilebilir: "^(0|[ 1-9][0-9]*)$"
Yalnızca iki ondalık basamaklı pozitif gerçek sayılar girilebilir: "^[0-9]+(.[ 0-9]{2}) $"
Yalnızca 1-3 ondalık basamaklı pozitif gerçek sayılar girilebilir: "^[0-9]+(.[ 0-9]{1,3}) $"
Yalnızca sıfır olmayan pozitif tam sayılar girilebilir: "^+ [1-9][0-9]*$"
Sadece sıfır olmayan negatif tam sayılar girilebilir: "^-[1-9][0-9]*$"
Yalnızca 3 uzunluğundaki karakterler girilebilir: "^. {3}$"
Sadece 26 harflik bir dizim girilebilir: "^[A-Za-z]+$"
Yalnızca 26 büyük harften oluşan bir diziye girilebilir: "^[A-Z]+$"
Yalnızca 26 küçük harften oluşan bir dizi girilebilir: "^[a-z]+$"
Yalnızca sayı ve 26 harften oluşan bir dizi girilebilir: "^[A-Za-z0-9]+$"
Sadece sayılar, 26 harf veya alt çizgiden oluşan bir diziye girebilirsiniz: "^\w+$"
Kullanıcı şifresini doğrulayın: "^[a-zA-Z]\w{5,17}$" doğru şekilde bir harfle başlayacak şekilde biçimlendirilmiştir, uzunluğu 6-18 arasında ve yalnızca karakter, sayı ve alt çizgi içerebilir.
^%&'; = $", vb.: "[^%&',; = $x 22]+"
Yalnızca Çince karakterler girilebilir: "^[u4e00-u9fa5],{0,}$"
E-posta adresini doğrulayın: "^\w+[-+.] \w+)*@\w+([-.] \w+)*.\w+([-.] \w+)*$"
İnternet URL'sini doğrulayın:"^http://([\w-]+.) +[\w-]+(/[\w-./ %&=]*) $"
Doğrulama telefon numarası: "^((\d{3,4})|\d{3,4}-) \d{7,8}$" doğru biçimlendirilmiştir: "XXXX-XXXXXXX","XXXX-XXXXXXX","XXX-XXXXXXX", "XXX-XXXXXXX","XXXXXXXXXX".
Doğrulama Numarası (15 veya 18 hane): "^d{15}|d{}18$"
Yılın 12 ayını doğrula: "^(0 [1-9]|1[0-2])$" Doğru format şudur: "01"-"09" ve "1""12"
Bir ay için 31 gün doğrulama: "^(((0 [1-9])|( (1|2) [0-9])| 30|31)$" doğru biçimlendirilmiştir: "01", "09" ve "1""31".
|