کنترل های معتبرسازی در asp.net

ارسال شده توسط: حسین درویشی Comments: 0

کنترل های معتبرسازی در asp.net

تکنولوژی ASP.NET از شش کنترل مهم معتبرسازی بهره می برد که ورودی های شما را کنترل کرده و از ارسال داده های اشتباه ممانعت می کنند. این کنترل ها کاملاً انعطاف پذیر هستند. بطوری که می توانید قوانین خود را تعریف کنید. این روش باعث می شود تا کدهای شما ماژولار و قابل استفاده مجدد باشد. کنترل های معتبرسازی در asp.net شامل: کنترل RequiredFiledValidator ، کنترل RangeValidator ، کنترل CompareValidator ، کنترل RegularExpressionValidator ، کنترل CustomValidator و کنترل ValidationSummary می باشند. برخی از آنها در ادامه مورد بررسی قرار گرفته اند.

کنترل های معتبرسازی در asp.net شامل:

کنترل RequiredFiledValidator

ساده ترین معتبرسازی را انجام می دهد. تنها کار این کنترل بررسی خالی نبودن یک ورودی است. برای مثال اگر یک جعبه ویرایشی، خالی بوده و یا از کاراکتر Space پر شده باشد، آنگاه ورودی آن توسط RequiredFiledValidator نا معتبر شناخته خواهد شد.

شما می توانید مقدار پیش فرض یک ورودی را با استفاده از خاصیت Initial Value تنظیم نمایید. در چنین شرایطی، کنترل ورودی در صورتی نامعتبر شناخته می شود که محتویات کنترل ورودی با مقدار InitialValue برابر باشد. این بدین معناست که کابر، مقدار ورودی را تغییر نداده است.

مثال زیر، یک کنترل RequiredFiledValidator را نشان می دهد:

<asp:TextBox runat="server" ID="name"/>
<asp:RequiredFiledValidator runat="server"
ControlToValidate="name" ErrorMessage="name is required"
Dsiplay="dynamic">*
</asp:RequiredFiledValidator>

در این حالت اگر جعبه ویرایشی Name خالی باشد، کنترل RequiredFiledValidator مقدار * را نمایش می دهد.

توجه: این پیغام خطا زمانی به نمایش در می آید که کاربر قصد ارسال اطلاعات به سمت را داشته باشد. این اتفاق موقعی رخ می دهد که کربر با فشردن کلید Tab به یک ورودی دیگر منتقل شود.


بیشتر بخوانید: تفاوت کنترل های html با کنترل های asp.net


کنترل RangeValidator

این کنترل بررسی می کند مقدار وارد شده در یک فیلد، در محدود درستی باشد. محدودۀ داده ها می تواند از نوع عددی، تاریخ یا رشته باشد.

RangeValidator دارای سه ویژگی اختصاصی Minimum value و Maximum Value و Type است. Minimum value و Maximum Value محدوده مجاز را مشخص می کنند. و گزینه Type نوع داده ورودی را مشخص می کند.

مقادیر قابل پشتیبانی توسط گزینه Type:

  • Currency
  • Date
  • Double
  • Integer
  • String

مثال زیر بررسی می کند که داده ورودی از نوع تاریخ و در محدوده آگوست تا 20 آگوست باشد:

<asp:TextBox runat="server" ID="Dayoff"/>
<asp:RangeValidator runat="server" Dsiplay="dynamic"
ControlToValidate="Dayoff" Type"Date"
ErrorMessage="day off is not within the valid interval"
MinimumValue="2020-08-05" MaximumValue="2020-08-20">*
</asp:RangeValidator>

کنترل CompareValidator

یکی دیگر از کنترل های معتبرسازی در ASP.NET می باشد. این کنترل برای مقایسه ورودی ها با یک عدد یا کنترل دیگر به کار می رود.

این کنترل مقدار ورودی مورد نظر را با یک مقدار ثابت یا مقدار کنترل دیکر مقایسه می کند. برای مثال ، با این کنترل می توانید از مساوی بودن مقدار دوجعبه ویرایشی Password و Confirm Password اطمینان حاصل کنید.

کنترل CompareValidator مانند کنترل RangeValidator نیز دارای خاصیت Type است تا نوع داده های مورد مقایسه را مشخص کند. علاوه بر آن، این کنترل دارای دو خاصیت ValueToCompare و ControlToCompare است که به ترتیب به شما اجازه می دهد مقدار کنترل ورودی را با یک مقدار ثابت یا مقدار کنترل ورودی دیگر مقایسه نمایید.
خاصیت Operator در این کنترل به شما اجازه می دهد تا نوع مقایسه را مشخص نمایید. برای این گزینه خواص زیر در دسترس هستند:

  • EqualNotEqual
  • GreaterThan
  • GreaterThanEqual
  • LessThan
  • LessThanEqual
  • DataTypeCheck

مقدار DataTypeCheck کنترل معتبر سازی را مجبور می کند نوع داده های دو ورودی را باهم مقایسه نماید؛ بدون آنکه مقایسه دیگری انجام دهد.

مثال زیر بررسی می کند که مقدار سن وارد شده در جعبه ویرایشی age، کمتر از 18 نباشد:

        <asp:TextBox runat="server" ID="age" />
<asp:CompareValidator runat="server" Display="Dynamic"
ControlToValidate="age" ValueToCompare="18"
ErrorMessage="you must be at least 18 years old"
Type="Integer" Operator="GreaterThanEqual">*
</asp:CompareValidator>

مثال بعدی، ورودی های رمز را در دو جعبه ویرایشی بررسی می کند تا مطمئن شود که مقدار هر دو آنها یکسان است؛

        <asp:TextBox runat="server" ID="Password" TextMode="Password" />
<asp:TextBox runat="server" ID="Password2" TextMode="Password" />
<asp:CompareValidator runat="server"
ControlToValidate="Password2" ControlToCompare="password"
ErrorMessage="the passwords don't match"
Type="String" Display="Dynamic">*
</asp:CompareValidator>

کنترل RegularExpressionValidator

RegularExpressionValidator یکی از قدرتمندترین ابزارهای کنترل های معتبرسازی در asp.net می باشد. این شیء برای جستجوی یک الگو در رشته ورودی به کار می رود. این موضوع برنامه نویس را قادر می کند تا صحت مقادیر وارد شده در فرم را بررسی نماید.

نکته: اول باید یک الگوی مناسبدر قسمت ValidationExpression وارد کنید.

الگوی ValidationExpression می تواند ترکیبی از اعداد، حروف و علائم را مشخص کرده و ترتیب و تعداد تکرار آنها را در رشته معین نماید. برای مثال، برنامه زیر بررسی می کند که آدرس وارد شده در ورودی یک آدرس پست الکترونیکی معتبر باشد:

       <asp:TextBox runat="server" ID="email" />
<asp:RegularExpressionValidator ControlToValidate="email" 
ValidationExpression=".*@.{2,}\..{2,}" runat="server" 
Display="Dynamic" 
ErrorMessage="email is not in a valid format">*</asp:RegularExpressionValidator>

عبارت @.{2,}..{2,} مشخص می کند که رشته وارد شده باید از چندکاراکتر شروع شده و سپس با یک علامت @ ادامه یابد و بعد از این علامت، حداقل باید دو کاراکتر به عنوان نام دامنه به کار رود و بعد از آن علامت . و درنهایت دو حرف برای پسوند سایت استفاده شود.

برای امتیاز به این نوشته کلیک کنید!
[کل: 0 میانگین: 0]

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *