مقدمه :
از کنترل 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> |