بررسی كنترل های Validation در ASP.NET New Page 1



ساير




 

 

 

SAKHA RAVESH CO.

 ا مروز

 چهارشنبه  29  دی  1395  2017  Jan.  18   Wendesday ToDay
صفحه اصلی  مقالات نکته هادايره المعارف خودآموزها | تازه ها خود آزمون ها    
  نسخه قابل چاپ  

    5 4 3 2 1 

 عنوان

 نويسنده

  مشاهده

 تعداد آراء

 امتياز

 كنترل های Validation در ASP.NET ( بخش سوم )

 مديريت وب

12543

16

4.1

با توجه به جایگاه داده در عصر حاضر و  لزوم نگاه جامع به این مقوله مهم ، بر آن شدیم تا محوریت فعالیت های خود را بر  روی این موضوع متمرکز نمائیم . از این رو گروه فابک با شعار فناوری اطلاعات برای کسب وکار شکل گرفت و  خدمات خود  را از طریق  سایت www.fabak.ir  به مخاطبان محترم عرضه می نماید

 

كنترل های Validation در ASP.NET

كنترل های Validation در ASP.NET ( بخش سوم )
در بخش اول به ماهيت و جايگاه كنترل های validation اشاره و عملكرد دو  كنترل <asp:RequiredFieldValidator> و <asp:RangeValidator> بررسی گرديد.در بخش دوم  با كنترل های <asp:CompareValidator> و <asp:CustomValidator> آشنا شديم . در اين بخش به بررسی ساير كنترل های validation خواهيم پرداخت .

گروه های validation
در زمان پياده سازی فرم های ورود اطلاعات به مواردی برخورد خواهيم كرد كه لازم است از چندين TextBox به منظور دريافت داده ورودی جهت انجام پردازش های مورد نياز در يك اسكريپت ، استفاده گردد .همچنين ، ممكن است در مواردی لازم باشد كه از چندين button در يك فرم ورود اطلاعات استفاده گردد و متناسب با اين كه كدام button توسط كاربران فعال شده است ، بررسی و صحت داده ورودی تعداد خاصی از كنترل های موجود بر روی فرم ورود اطلاعات ( مستقل از ساير كنترل ها ) ، انجام شود . در چنين مواردی می بايست تمامی كنترل هائی را كه می خواهيم  پس از كليك بر روی يك button خاص ،    validate شوند را عضوء يك گروه نمود و نام آن گروه را برای button مورد نظر نيز مشخص نمود . بدين ترتيب ، پس از كليك بر روی button مورد نظر صرفا" آندسته از كنترل هائی كه عضوء گروه هم نام با گروه معرفی شده به همراه button می باشند ، بررسی و ارزيابی خواهند شد .

مثال
در فرم ورود اطلاعات زير از چندين كنترل ( چهار كنترل TextBox )  استفاده شده است كه تمامی آنها عضوء يك گروه validation می باشند . پس از كليك بر روی دكمه "ارسال اطلاعات " ، صرفا" آندسته از كنترل هائی كه كنترل های validation آنها عضوء گروه مشخص شده می باشند ، validate خواهند شد .

 
فرم ورود اطلاعات : استفاده از چهار كنترل TextBox كه تمامی آنها عضوء يك گروه Validation می باشند
 

<SCRIPT Runat="Server">

Sub Validate_Email (Src As Object, Args As ServerValidateEventArgs)

  If InStr(Args.Value, "@") = 0 Then
      EmailValidator.ErrorMessage = "لطفا يك آدرس پست الكترونيكی صحيح را وارد نمائيد"
      Args.IsValid = False
  End If

End Sub

Sub
Get_Data (Src As Object, Args As EventArgs)

  If Page.IsValid Then
     Output.Text = "You entered valid data"
  End If

End Sub

</SCRIPT>


<
form Runat="Server">

<h3>فرم ورو اطلاعات</h3>

<table border="0" cellpadding="2">
<tr>
<td>نام:</td>
<td><asp:TextBox id="FirstName" Runat="Server"/></td>
<td><asp:RequiredFieldValidator Runat="Server"
        ControlToValidate="FirstName"
        ValidationGroup="Group1"
        ErrorMessage="لطفا  نام خود را وارد نمائيد"
        Display="Dynamic"/></td>
</tr>
<tr>
<td>نام خانوادگی:</td>
<td><asp:TextBox id="LastName" Runat="Server"/></td>
<td><asp:RequiredFieldValidator Runat="Server"
         ControlToValidate="LastName"
         ValidationGroup="Group1"
         ErrorMessage="لطفا  نام خانوادگی خود را وارد نمائيد"
         Display="Dynamic"/></td>
</tr>
<tr>
<td>سن:</td>
<td><asp:TextBox id="Age" Width="50" Runat="Server"/></td>
<td><asp:RangeValidator Runat="Server"
         ControlToValidate="Age"
         ValidationGroup="Group1"
         Type="Integer"
          MinimumValue="15"
          MaximumValue="99"
          ErrorMessage="لطفا" يك عدد بين پانزده تا نود و نه را وارد نمائيد "
          Display="Dynamic"/>
<asp:RequiredFieldValidator Runat="Server"
        ControlToValidate="Age"
        ValidationGroup="Group1"
        ErrorMessage="لطفا  سن خود را وارد نمائيد  "
        Display="Dynamic"/></td>
</tr>
<tr>
<td>آدرس پست الكترونيكی:</td>
<td><asp:TextBox id="Email" Runat="Server"/></td>
<td><asp:CustomValidator id="EmailValidator" Runat="Server"
         ControlToValidate="Email"
         ValidationGroup="Group1"
         Display="Dynamic"
         OnServerValidate="Validate_Email"/>
<asp:RequiredFieldValidator Runat="Server"
        ControlToValidate="Email"
        ValidationGroup="Group1"
         ErrorMessage="لطفا  آدرس پست الكترونيكی خود را وارد نمائيد"
         Display="Dynamic"/></td>
</tr>
</table>
<br/>
<asp:Button Text="
ارسال اطلاعاتValidationGroup="Group1"
        OnClick="Get_Data" Runat="Server"/>
<asp:Label id="Output" Runat="Server"/><br/>

</form>

به دكمه "ارسال اطلاعات "  ، يك نام گروه validation  نسبت داده شده است تا پس از كليك بر روی آن ، كنترل هائی كه كنترل های validation آنها عضوء گروهی با همين نام می باشند ، بررسی و ارزيابی گردند . در صورتی كه از كنترل های validation ديگر بر روی فرم استفاده شده است كه عضوء گروه validation نمی باشند ، پس از كليك بر روی دكمه "ارسال اطلاعات " ، ارزيابی نخواهند شد .
پس از كليك بر روی هر button موجود بر روی يك فرم ، صرفا" آندسته از كنترل هائی بررسی و ارزيابی خواهند شد كه تشكيل يك گروه را می دهند و از يك نام مشابه برای گروه استفاده می نمايند كه همانند نام نسبت داده شده به button مورد نظر است .

 كنترل <asp:ValidationSummary>
با استفاده از كنترل <asp:ValidationSummary> ، پيام های خطاء جداگانه توسط يك كنترل توليد و با يكديگر نمايش داده می شوند. كنترل فوق ، همچنين قادر به توليد گزارش پيام های خطاء محدود به مجموعه ای خاص از كنترل ها می باشد . 

شكل عمومی
شكل عمومی كنترل فوق به صورت زير است :

<asp:ValidationSummary id="id" Runat="Server"
DisplayMode="BulletList|List|SingleParagraph"
HeaderText="string"
ShowMessageBox="False|True"
ShowSummary="False|True"
ValidationGroup="name"
/>

توضيحات 

  • خصلت DisplayMode ، نحوه ( فرمت ) نمايش پيام های خطاء را مشخص می نمايد كه به صورت پيش فرض يك ليست bulleted در نظر گرفته می شود .

  • مكان نمايش گزارش پيام های خطاء در محلی است كه كنترل ValidatiomSummary استفاده شده است .

  • با استفاده از خصلت ShowMessageBox و نسبت دادن مقدار True به آن ، يك پيام pop-up نمايش داده خواهد شد .  بدين ترتيب ، خروجی كنترل ValidationSummary در يك PoP-Up نمايش داده می شود .

  • در صورتی كه خلاصه گزارش خطاء مرتبط با يك گروه validation  خاص می باشد ، می بايست نام آن گروه به خصلت ValidationGroup نسبت داده شود .

مثال
مثال زير ، بازنويسی مثال قبل است . با اين تفاوت كه در مقابل نمايش جداگانه پيام های خطاء ، از يك كنترل ValidationSummary استفاده شده است .

استفاده از كنترل ValidationSummary

<SCRIPT Runat="Server">

Sub
Validate_Email (Src As Object, Args As ServerValidateEventArgs)

  If InStr(Args.Value, "@") = 0 Then
      EmailValidator.ErrorMessage = "لطفا يك آدرس پست الكترونيكی صحيح را وارد نمائيد"
      Args.IsValid = False
  End If

End Sub

Sub
Get_Data (Src As Object, Args As EventArgs)

 If Page.IsValid Then
      Output.Text = "You entered valid data"
 End If

End Sub

</SCRIPT>


<form Runat="Server">

<h3>فرم ورو اطلاعات</h3>

<table border="0" cellpadding="2">
<tr>
<td>نام:</td>
<td><asp:TextBox id="FirstName" Runat="Server"/></td>
<td><asp:RequiredFieldValidator Runat="Server"
        ControlToValidate="FirstName"
        ValidationGroup="Group1"
        ErrorMessage=" نام "
        Display="None"/></td>
</tr>
<tr>
<td>نام خانوادگی:</td>
<td><asp:TextBox id="LastName" Runat="Server"/></td>
<td><asp:RequiredFieldValidator Runat="Server"
         ControlToValidate="LastName"
         ValidationGroup="Group1"
         ErrorMessage=" نام خانوادگی "
      
Display="None"/></td>
</tr>
<tr>
<td>سن:</td>
<td><asp:TextBox id="Age" Width="50" Runat="Server"/></td>
<td><asp:RangeValidator Runat="Server"
         ControlToValidate="Age"
         ValidationGroup="Group1"
         Type="Integer"
          MinimumValue="15"
          MaximumValue="99"
          ErrorMessage="يك عدد بين پانزده تا نود و نه  "
       
Display="None"/>
<asp:RequiredFieldValidator Runat="Server"
        ControlToValidate="Age"
        ValidationGroup="Group1"
        ErrorMessage=" سن   "
     
Display="None"/></td>
</tr>
<tr>
<td>آدرس پست الكترونيكی:</td>
<td><asp:TextBox id="Email" Runat="Server"/></td>
<td><asp:CustomValidator id="EmailValidator" Runat="Server"
         ControlToValidate="Email"
         ValidationGroup="Group1"
        
Display="None"/>
         OnServerValidate="Validate_Email"/>
<asp:RequiredFieldValidator Runat="Server"
        ControlToValidate="Email"
        ValidationGroup="Group1"
         ErrorMessage="  آدرس پست الكترونيكی  "
       
Display="None"/></td>
</tr>
</table>
<br/>
<asp:Button Text="Submit" ValidationGroup="Group1"
         OnClick="Get_Data" Runat="Server"/>
<asp:Label id="Output" Runat="Server"/><br/>

<asp:ValidationSummary Runat="Server"
     ValidationGroup=
"Group1"
     DisplayMode=
"BulletList"
     HeaderText=
" لطفا اطلاعات زير را وارد نمائيد "
     ShowSummary=
"True"
     ShowMessageBox=
"False"/>

</form>

در بخش چهارم به بررسی برخی نكات خاص در خصوص ايمن سازی برنامه های وب با تمركز بر روی كنترل های Validation خواهيم پرداخت .  



جستجو

مقالات                 
دايره المعارف       
دوره های آموزشی


 

 

مشاهده گروه ها



              

 

 تهيه شده در شرکت سخا روش -  1382