مقدمه و معرفی کنترل CompareValidator

مقدمه :

از کنترل CompareValidator برای مقایسه مقدار وارد شده در یک کادر متن ( کنترل TextBox ) با یک کنترل کادر متن دیگر و یا یک مقدار از پیش تعیین شده ، استفاده می شود .
اگر نتیجه مقایسه یکسان و صحیح باشد ، کنترل مقدار True را به فرم برگردانده و فرم با موفقیت Submit می شود . در غیر اینصورت با اعلام یک پیام خطا آن را به کاربر اطلاع می دهد تا مقدار وارد شده را تصحیح کند .
یکی از کاربردهای مهم این کنترل را قبلا در فرم های ثبت نام در سایت های مختلف ، مشاهده کرده اید . در فرم های ثبت نام سایت ها از شما خواسته می شود تا رمز عبور خود را در یک کادر متن وارد کرده و برای حصول اطمینان مجددا همان مقدار را در یک کادر متن دوم نیز وارد نمایید . فرم مقدار 2 کنترل رابا هم مقایسه کرده و چنانچه با هم یکسان باشند ، عملیات ثبت نام انجام می شود ، در غیر اینصورت به شما پیام هشدار می دهد . انجام چنین عملیاتی در فرم های ASP.Net بر عهده کنترل CompareValidator می باشد .

نحوه کار با کنترل CompareValidator :

برای استفاده از کنترل CompareValidator ، ابتدا باید این کنترل را به کنترل کادر متن ( TextBox ) که می خواهید عملیات اعتبار سنجی را بر روی آن انجام دهید ، متصل نمایید . برای این منظور یاید مقدار خاصیت ControlToValidate کنترل را برابر با شناسه ( Id ) کنترل کادر متن مورد نظر خود قرار دهید .
سپس دو حالت پیش می آید :

  1. مقایسه مقدار کنترل کادر متن TextBox با یک کنترل کادر متن دوم :
    در این حالت شما می خواهید مقدار کنترل کادر متن مورد نظر خود را با یک کنترل کادر متن دوم مقایسه نمایید . برای این منظور باید مقدار خاصیت ControlToCompare کنترل CompareValidator را برابر با Id کنترل کادر متن دوم قرار دهید .
  2. مقایسه مقدار کنترل کادر متن با یک مقدار از پیش تعیین شده :
    در این حالت شما می خواهید مقدار کنترل کادر متن مورد نظر خود را با یک مقدار از پیش تعیین شده ، مقایسه نمایید . برای این منظور باید مقدار خاصیت ValueToCompare کنترل CompareValidator را برابر با مقدار از پیش تعیین شده خود قرار دهید . برای مثال می خواهید مقدار کنترل کادر متن برابر با Tehran باشد .

سپس باید نوع داده ای که کنترل باید مقایسه نماید را تعیین کنید . برای مثال در مورد اسامی نوع داده ای متن ( String ) و برای رمز عبور معمولا نوع داده ای عددی ( Integer ) است . نوع داده ای در کنترل CompareValidator توسط خاصیت Type تعیین می شود و می تواند یکی از انواع String , Integer , Date , Boolen و یا Double باشد .
در نهایت نیز باید یک پیام اخطار جهت نمایش به کاربر تعیین کنید تا در صورت عدم یکسان بودن مقادیر ورودی ، به وی اخطار دهد . این پیام را توسط خاصیت ErrorMassage کنترل CompareValidator تعیین می کنید .
در جدول زیر موارد فوق و نحوه کلی کار با کنترل CompareValidator را به شما نمایش داده ایم :

Syntax
حالت اول

< asp:CompareValidator   ID="CV_1"   runat="server"  
    ErrorMessage = "متن پیام هشدار که در صورت یکسان نبودن مقادیر وارده به کاربر نمایش داده می شود "  
    ControlToValidate = " کنترل کادر متنی که می خواهیم مقدار آن را کنترل نماییم شناسه ( ID ) شناسه"
    ControlToCompare = "کنترل کادر متن دوم که می خواهیم مقدار آن با کنترل اول یکسان باشد ( ID ) "
    Type = " نوع داده ای عملیات اعتبار سنجی "
    Text = "یک نشانه مثل * که توسط برنامه نویس تعیین می شود تا در صورت بروز خطا در کنار کادر متن نمایش داده شود"   >  
< /asp:CompareValidator >


حالت دوم
< asp:CompareValidator   ID="CV_1"   runat="server"  
    ErrorMessage = "متن پیام هشدار که در صورت یکسان نبودن مقادیر وارده به کاربر نمایش داده می شود "  
    ControlToValidate = " کنترل کادر متنی که می خواهیم مقدار آن را کنترل نماییم شناسه ( ID ) شناسه"
    ValueToCompare = " مقدار پیش فرضی که می خواهیم مقدار کنترل کادر متن با آن یکسان باشد "
    Type = " نوع داده ای عملیات اعتبار سنجی "
    Text = "یک نشانه مثل * که توسط برنامه نویس تعیین می شود تا در صورت بروز خطا در کنار کادر متن نمایش داده شود"   >  
< /asp:CompareValidator >


مثال های عملی کنترل CompareValidator :

در مثال های عملی زیر ، نحوه استفاده از کنترل CompareValidator را در 2 حالت مختلف به شما نشان داده ایم :

مثال شماره 1 : مقایسه مقدار کنترل کادر متن با یک مقدار پیش فرض :
در این مثال کاربر باید در کادر متن مقدار ASP.Net را وارد نماید . در صورت وارد کردن مقدار صحیح کنترل بدون ایراد فرم را Submit می کند . اما در صورت وارد کردن مقدار به غیر از مقدار تعیین شده ، کنترل پیام هشدار به کاربر نشان می دهد . دقت کنید نوع داده ای را متن ( String ) تعیین کرده ایم .

Example
Enter Your Plateform :   < asp:TextBox   ID = "TXT_1"   runat = " server "   Width = " 100px " >   < /asp:TextBox >
< asp:CompareValidator   ID = "CV_1"   runat = " server "
  ErrorMessage = " مقدار متن را صحیح وارد نمایید "
  ValueToCompare = "ASP.Net"
  Type="String"
  ControlToValidate = "TXT_1 " >
</asp:CompareValidator>
کد
Enter Your Platform :    خروجی

مثال شماره 2 : مقایسه مقدار کنترل کادر متن با یک کنترل کادر متن دیگر :
در این مثال کاربر باید مقدار رمز عبور خود را در 2 کادر متن به ترتیب وارد نماید . وارد نمودن رمز در کادر متن دوم برای حصول اطمینان از درست وارد شدن رمز توسط کاربر است و باید مقدار وارد شده در هر 2 کادر ، دقیقا یکسان باشد . این کار توسط کنترل 7 انجام می شود . برای بررسی خروجی مثال ، مقادیر را در کادر های متن خروجی مثال وارد نمایید :

Example
Enter Your Pass :   < asp:TextBox   ID = "Pass_1"   runat = " server "   Width = " 100px "   MaxLength="5" >   < /asp:TextBox >
Confirm Your Pass :   < asp:TextBox   ID = "Pass_2"   runat = " server "   Width = " 100px "   MaxLength="5" >   < /asp:TextBox >
< asp:CompareValidator   ID = "CV_2"   runat = " server "
  ErrorMessage = " مقدار متن در 2 کنترل متفاوت است "
  ControlToValidate = "Pass_1 " >
  ControlToCompare = "Pass_2 " >
  Type="Integer"
</asp:CompareValidator>
کد
Enter Your Pass :    
Confirm Your Pass :   
خروجی


راجع این مطلب سوال یا اشکالی دارید ؟! آن را در انجمن سایت مطرح نمایید ...         >>>>>  ورود به انجمن تخصصی


نطر خودتان درباره این صفحه را با ما در میان گذاشته و در صورت تمایل از Developer1 حمایت نمایید :

آیا مطالب این صفحه برای شما مناسب و مفید بوده است :

نام :                 
آدرس Email :    
 
نظر شما :  
 
سوال امنیتی : پایتخت ایران ؟      
حمایت از سایت Developer1