Makale Özeti

Bu yazımda sizlere ASP.NET 2.0 ile yeni gelen Bilgi Denetleme Grupları (ValidationGroups) özelliğini paylaşmak istiyorum.

Makale

ASP.NET ile web formları tasarlamak ve bunlar üzerinden bilgileri almak belki de ASP.NET'le yaptığımız en sık işlemlerden birisi. Fakat veri güvenliği için yapmamız gereken bu girilen alanların denetimi. İşte bu noktada ASP.NET 1.0 sürümünde RequiredFieldValidator, RangeValidator, RegularExpressionValidator, ValidationSummary gibi bilgi denetleme kontrolleriyle tanışmıştık ve bu kontrollerin yazılım geliştirme zamanı ne kadar hızlandırdığını, çok sık yaptığımız bir işlemi daha kolay bir hale nasıl getirdiklerini görmüştük. Bu konuda yazdığım makaleye şu adresten ulaşabilirsiniz: http://www.yazgelistir.com/Makaleler/1000000300.ygpx . Bu yazımda ise sizlere ASP.NET 2.0 ile gelen yeni bir özellikten bahsetmek istiyorum; ASP.NET Bilgi Denetleme Grupları.

Bilgi Denetleme Grupları Oluşturmak

VaditionGroup özelliği bir sayfa içerisinde birden fazla alan grup olarak denetlenecekse işimize yarayan bir özellik. Örneğin bir formunuz var, tarih aralığı ve gidilecek yer adının yazılması bir form bölümü, diğeri ise arama yapılan bir alan; bu iki grubu kolayca birbirinden ayırarak ayrı ayrı bilgi denetleme işlemini gerçekleştirebiliriz. Bu özellikle Wisard, MultiView ve bilgi güncellemesi yapılan kontrollerde çok avantajlı bir kullanım sunmaktadır. Ayrıca sayfa yani Page nesnesinin artık GetValidators("grup_adi") ve Validate("grup_adi") metotları da vardır. Gelin örnek kod ile ValidationGroup özelliğine yakından bakalım:


<asp:TextBox ID="aranacak" runat="server" />
<asp:Button ID="Button2" runat="server" Text="ARAMA YAP" ValidationGroup="Arama_grubu" />
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" SetFocusOnError="true" Runat="server" ErrorMessage="Aranacak kelimeyi boş bıraktınız!!"
ControlToValidate="aranacak" ValidationGroup="Arama_grubu" />

Örnek kodda gördüğünüz gibi bir butonun ValidationGroup özelliği ve ardından RequiredFieldValidator'ın ValidationGroup özelliğini veriyoruz böylece bu gruba ait olan kontroller toplu bir şekilde kendi aralarında kontrol ediliyorlar. Şimdi ikinci bir formu da eklediğimiz örnek yapacak olursak gelin aspnet2_bilgidenetleme.aspx koduna bakalım:

<%@ Page Language="VB"%>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>Bilgi Denetleme Grupları</title>
</head>

<script language="VB" runat=server>
Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Label1.Text = "Gideceğiniz yer " & TextBox1.Text & ", seçtiğiniz tarih " & Calendar1.SelectedDate
End Sub
</script>

<body>
<form id="form1" runat="server">
<div>
<h3>ValidationGroup (Arama_grubu)</h3>
Aranacak Kelimeyi Girin:
<asp:TextBox ID="aranacak" runat="server" />
<asp:Button ID="Button2" runat="server" Text="ARAMA YAP" ValidationGroup="Arama_grubu" />
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" SetFocusOnError="true" Runat="server" ErrorMessage="Aranacak kelimeyi boş bıraktınız!!"
ControlToValidate="aranacak" ValidationGroup="Arama_grubu" />
<br /><br />
<hr />
<br />
<h3>ValidationGroup (Tatil_grubu)</h3>
<table cellpadding="5">
<tr>
<td valign="top">
Tatile Gitmek İstediğiniz Yeri Yazınız:</td>
<td valign="top">
<asp:TextBox ID="TextBox1" runat="server" Width="247px" Height="22px" />
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" Runat="server" ErrorMessage="Tatil yeri yazmadınız!!"
ControlToValidate="TextBox1" ValidationGroup="Tatil_grubu" />
</td>
</tr>
<tr>
<td valign="top">
Tatil Gününü Seçiniz :
</td>
<td valign="top">
<asp:Calendar ID="Calendar1" runat="server" />
<br />
<asp:Button ID="Button1" runat="server" Text="TATİL SEÇ" OnClick="Button1_Click" ValidationGroup="Tatil_grubu" />
<br />
</td>
</tr>
</table>
<br />
<asp:Label ID="Label1" runat="server" Text="Label" Font-Bold="true" />
</form>
</body>
</html>

Dosya Adı: aspnet2_bilgidenetleme.aspx

Gördüğünüz gibi iki farklı bilgi denetleme grubu yarattık, biri Arama_grubu diğeri Tatil_grubu olmak üzere. Aynı formda ikisini ayrı ayrı kontrol edebilir hale geldik böylelikle. Uygulamamızı çalıştıracak olursak şöyle bir iki ekran görüntüsü alacaksınız:


Şekil 1: Arama grubu bilgi denetleme işleminden geçiyor


Şekil 2: Tatil grubu bilgi denetleme işleminden geçiyor

Özet olarak ASP.NET 2.0 ile gelen Bilgi Denetleme Grupları yani Validation Groups ASP.NET Web Formlarında girilen alanları gruplara ayırarak ayrı ayrı kontrol etmeye yarıyor ve bunu çok kolay bir şekilde yapabilmemizi sağlıyor. Yeni bir yazımızda daha görüşmek dileklerimle.

Mehmet Nuri ÇANKAYA
www.nuricankaya.com

Referanslar:
- http://msdn.microsoft.com/library/en-us/dnvs05/html/ValGroups.asp
- http://www.asp.net (QuickStartv20)