ASP.NET Validation Kontrolleri – RegularExpressionValidator
Sayfamızda kullandığımız input kontroller içine yazılmış olan bilgilerin istediğimiz formata uygun olup olmadığını kontrol etmek için RegularExpressionValidator kontrolünü kullanırız. Visual Studio’da Toolbox içinde Validation menüsü altında bulabileceğimiz bu kontrol bizi bir çok dertten kurtaracak özelliklere sahip. Örneğinm girilen bir e-posta adresinin geçerli bir e-Posta adresi olup olmadığını kontrol etmek bu sayede çok kolay oluyor.
İlk olarak sayfamızın html bölümüne bir RegularExpressionValidatorekliyoruz. Daha sonra bu kontrolün sayfamızda bulnan hangi inputu kontrol edeceğini belirliyoruz. Bunun için ControlToValidate özelliğinikullanıyoruz. Hata oluştuğu zaman ekranda görünecek hata mesajını ErrorMessage özelliğini setleyerek belirliyoruz. Inputumuzun alacağı bilginin formatını regular expressionla belirlemek için ise ValidationExpression özelliğini kullanıyoruz.
E-Posta bilgisi almak için kullanacağımız bir TextBox kontrolüne yazılan bilginin bir e-posta olup olmadığını kontrol etmek için yazacağımız kod aşağıdaki 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 Değil" /> </td> </tr> <tr> <td colspan=2 align=center> <asp:Button ID="Button1" runat="server" Text="Onayla" /> </td> </tr> </table> |
RegularExpressionValidator textboxın boş olup olmadığını kontrol etmez. Eğer yukarıdaki örnekte E-posta adresi boş girilirse geçerli sayılacaktır. Eğer boş geçilmesini istemiyorsanız Validation menusu altında bulunan RequiredFieldValidator kontrolünü kullanmanız gerekmektedir. Bu kontrolün kullanımı hakkında bilgiyi sonraki makalemizde vereceğim.
Bazı Regular Expression İfadeleri:
Alan |
Regular Expression |
Format Örnekleri |
Açıklama |
Telefon Numarası |
^[01]?[- .]?(\([2-9]\d{2}\)|[2-9]\d{2})[- .]?\d{3}[- .]?\d{4}$ |
(425) 555-0123 |
Telefon numarası doğrulamak 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 Sayı |
^\d+$ |
0 |
0 ve 0 dan büyük sayı |