ASP.NET Validation Kontrolleri – RegularExpressionValidator
Sayfamizda kullandigimiz input kontroller içine yazilmis olan bilgilerin istedigimiz formata uygun olup olmadigini kontrol etmek için RegularExpressionValidator kontrolünü kullaniriz. Visual Studio’da Toolbox içinde Validation menüsü altinda bulabilecegimiz bu kontrol bizi bir çok dertten kurtaracak özelliklere sahip. Örneginm girilen bir e-posta adresinin geçerli bir e-Posta adresi olup olmadigini kontrol etmek bu sayede çok kolay oluyor.
Ilk olarak sayfamizin html bölümüne bir RegularExpressionValidator ekliyoruz. Daha sonra bu kontrolün sayfamizda bulnan hangi inputu kontrol edecegini belirliyoruz. Bunun için ControlToValidate özelligini kullaniyoruz. Hata olustugu zaman ekranda görünecek hata mesajini ErrorMessage özelligini setleyerek belirliyoruz. Inputumuzun alacagi bilginin formatini regular expressionla belirlemek için ise ValidationExpression özelligini kullaniyoruz.
E-Posta bilgisi almak için kullanacagimiz bir TextBox kontrolüne yazilan bilginin bir e-posta olup olmadigini kontrol etmek için yazacagimiz kod asagidaki gibi olacak.
<table> <tr> <td> E-Posta : </td> <td> <asp:TextBox ID="EPostaTextBox" runat="server"></asp:TextBox> <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ValidationExpression="^([0-9a-zA-Z]([-\.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$" ControlToValidate="EPostaTextBox" ErrorMessage="Geçerli Bir e-Posta Adresi Degil" /> </td> </tr> <tr> <td colspan=2 align=center> <asp:Button ID="Button1" runat="server" Text="Onayla" /> </td> </tr> </table> |
RegularExpressionValidator textboxin bos olup olmadigini kontrol etmez. Eger yukaridaki örnekte E-posta adresi bos girilirse geçerli sayilacaktir. Eger bos geçilmesini istemiyorsaniz Validation menusu altinda bulunan RequiredFieldValidator kontrolünü kullanmaniz gerekmektedir. Bu kontrolün kullanimi hakkinda bilgiyi sonraki makalemizde verecegim.
Bazi Regular Expression Ifadeleri:
Alan |
Regular Expression |
Format Örnekleri |
Açiklama |
Telefon Numarasi |
^[01]?[- .]?(\([2-9]\d{2}\)|[2-9]\d{2})[- .]?\d{3}[- .]?\d{4}$ |
(425) 555-0123 |
Telefon numarasi dogrulamak için |
E-Posta |
^([0-9a-zA-Z]([-\.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})$ |
isim@domain.com |
Geçerli bir E-Posta |
Negatif Olamayan Sayi |
^\d+$ |
0 |
0 ve 0 dan büyük sayi |
telefon kontrollerinin kodlarini bilen muhterem sahislar yazsinlar lütfen acciiiillllll:) e mail kolay zaten her yerde vr telefon nasi olcakkkk !!!!!!!!!!!!!!!!!! saygilar simdiden tesekkürler
bende yukarida en son sorulan problemi yasiyorum.. yani sayfaya baska butinlar koydugumuzdada ayni uyarilar ile karsiyoruz….
T.C. kimlik olayini nasil yapicaz? 11 haneden fazla yada eksik olursa hata mesaji versin istiyorum yardimci olabilir misiniz?tesekkürler
iki farkli formatin var.
1 – ad bosluk soyad
2 – ad bosluk gobekadi bosluk soyad
demekki girilen metinde en az 1 en fazla 2 bosluk olacak, ama bosluklar yanyana olmayacak. sen metinin bosluga gore split et, en az 2 en fazla 3 eleman donmeli bu elemanlarinda her biri en az x karakter uzunlugunda olmali gibi kontroller yapabilirsin.
elinde bir ad soyad kutuphanesi olsa hepsini gercekten isimmi diye kontrol ederdin ama oyle bir imkanin oldugunu sanmiyorum.
Bir textbox içinde ad ve soyadi aliyorum. kullanici ad bosluk soyad veya ad bosluk göbekadi bosluk soyad gibi girisleri kabul etmesi digerlerini yasaklamasini istiyorum. nasil yapabilirim. ??
sorunuz için cevap forumda yayinlanmistir.
asagidaki linkten ulasabilirsiniz
forum
biz sitemizde bu kontrolleri kullandik fakat bu sayfa acildiktan sonra islem yapmadan baska bir sayfaya gecmek istedigimizde yine hata veriyor bu hatayi nasil ortadan kaldirabiliriz…..??
yardiminizi bekliyoruz simdiden cok tesekkurler