مقدمه :

از کنترل RangeValidator برای سنجش اینکه آیا مقدار وارد شده در یک کنترل کادر متن ( TextBox ) ، در محدوده تعیین شده ( مورد نظر برنامه نویس ) قرار دارد یا خیر استفاده می شود .
برای مثال فرض کنید در یک فرم ثبت نام که طراحی کرده اید ، ، کاربر باید سن خود را در یک کادر متن وارد نماید . بدیهی است عدد وارد شده باید عددی بین ۱۰ تا ۱۰۰ باشد و اعداد بزرگتر مفهومی نخواهد داشت .
توسط یک کنترل RangeValidator می توانید عدد وارد شده در کنترل کادر متن را بررسی کرده و مطمئن شوید که کاربر عددی بین ۱۰ تا ۱۰۰ وارد کرده باشد . در غیر اینصورت به وی پیام هشدار داده تا وی اطلاعات را اصلاح نماید .

روش کار با کنترل RangeValidator :

برای استفاده از این کنترل باید آن را به یک کنترل کادر متن ( TextBox ) مرتبط سازید . این کنترل هیچ خروجی ظاهری بر روی صفحه نداشته و عملیات خود را در پشت صفحه انجام می دهد .
کنترل کادر متنی که می خواهید مقدار آن را بررسی کرده تا در محدوده مورد نظرتان باشد ، را توسط خاصیت ControlToValidate کنترل RangeValidator تعیین می کنید . برای این منظور باید مقدار خاصیت ControlToValidate را برابر با ID کادر متن مورد نظر قرار می دهید . در این حالت ۲ کنترل به هم متصل می شوند .

سپس محدوده مورد نظر خود را توسط دو خاصیت MinimumValue و MaximumValue تعیین می کنید . خاصیت MinimumValue تعیین کننده حد پایین محدوده و خاصیت MaximumValue تعیین کننده حد پایین محدوده است . برای مثال در مورد نمونه ذکر شده در مورد سن ، عدد ۱۰ حد پایین و عدد ۱۰۰ حد بالا خواهد بود. کنترل بررسی خواهد کرد که مقدار وارد شده در این محدوده باشد و در غیر این صورت پیام هشدار به کاربر می دهد .
پیام هشداری که می خواهید به کاربر اعلام نمایید را توسط خاصیت ErrorMassege تعیین می کنید . همچنین توسط خاصیت Text می توانید یک نشانه مثل * را تعیین نموده تا در صورت بروز خطا ، در کنار کنترل کادر متن به نمایش درآید .
شکل کلی تعریف و نمایش کنترل RangeValidator در صفحه های ASP.Net به صورت زیر است . در مثال این بخش استفاده از این کنترل را در عمل نمایش داده ایم:

asp:RangeValidator   ID=”RV_1″   runat=”ser< ver”

ErrorMessage = “متن پیام هشدار در صورت اشتباه وارد نمودن مقدار در کنترل کادر متن مربوطه”
ControlToValidate = “شناسه ( ID ) کنترل کادر متنی که می خواهیم مقدار آن را کنترل نماییم”
MinimumValue = “حد پایین محدوده مورد نظر”
MaximumValue = “حد بالا محدوده مورد نظر”
Text = “یک نشانه مثل * که توسط برنامه نویس تعیین می شود تا در صورت بروز خطا در کنار کادر متن نمایش داده شود”   >
< /asp:RangeValidator >

نحوه قرار دادن یک کنترل RangeValidator بر روی صفحه ASP.Net :

ابتدا یک صفحه ASP.Net در محیط Visual Studio ایجاد کرده و یا صفحه از قبل طراحی شده خود را باز کنید .
از منوی Toolbox و از قسمت کنترل های Standard یک کنترل RangeValidator را کشیده و روی صفحه قرار دهید .
همچنین می توانید به صورت مستقیم در قسمت کدنویسی Source صفحه کد مربوط به کنترل را تایپ نمایید .
سپس کنترل را به کادر متنی را که می خواهید مقدار آن را بررسی نمایید ، متصل نموده و برای آن پیام هشدار نیز تعیین نمایید .

نکته : اگر کاربر مقداری را در کنترل کادر متن مربوط به RangeValidator وارد ننماید ، کنترل RangeValidator دچار مشکل شده و نتیجه سنجش داده را مثبت اعلام می کند . برای جلوگیری از این مشکل ، کنترل کادر متن خود را به یک کنترل RequiredFieldValidator نیز متصل کنید ، تا خالی بودن آن را بررسی نماید .

مثال عملی :

مثال : در مثال زیر یک کادر متن را قرار داده ایم کا کاربر باید سن خود را در آن وارد نماید . مقدار وارد شده توسط یک کنترل RangeValidator بررسی شده و چنانچه در محدوده اعداد ۱۰ تا ۱۰۰ نباشد ، پیام هشداری را به کاربر اعلام می نماید ، تا مقدار وارده را اصلاح نماید .
برای مشاهده چگونگی خروجی مثال ، سن خود را در کادر متن وارد کرده و کلید Enter را بزنید :

Enter Your Age :   < asp:TextBox   ID = ” Age_TXT ”   runat = ” server ”   Width = ” 100px ” >   < /asp:TextBox >
< asp:RangeValidator   ID = “RV_2″   runat = ” server “
ErrorMessage = ” سن خود را صحیح وارد نمایید “
MinimumValue = ” 10 “
MaximumValue = ” 100 “
ControlToValidate = ” Age_TXT ” >
</asp:RangeValidator>