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

آموزش اعتبارسنجی در ASP.NET به همراه مثال و توضیح کامل


اعتبارسنجی در ASP.NET

کنترل های اعتبارسنجی در ASP.NET ، اعتبار داده های ورودی کاربر را برای حصول اطمینان از ذخیره نشدن داده های بی فایده ، غیر قابل شناسایی یا متناقض ، مورد بررسی قرار می دهند.

ASP.NET کنترل های اعتبارسنجی زیر را فراهم می کند:

  • RequiredFieldValidator
  • RangeValidator
  • CompareValidator
  • RegularExpressionValidator
  • CustomValidator
  • ValidationSummary

کلاس BaseValidator

کلاس های کنترل اعتبار سنجی از کلاس BaseValidator ارث بری می کنند و به همین دلیل تمام خصیصه ها و متدهای این کلاس را به ارث می برند. از این رو ، بررسی خواص و متدهای این کلاس پایه ای ، که برای تمام کنترل های اعتبارسنجی مشترک هستند ، می تواند مفید باشد.

اعضاء

توضیحات

ControlToValidate

کنترل ورودی جهت اعتبارسنجی را نشان می دهد.

Display

نشان می دهد که چگونه پیام خطا نشان داده می شود.

EnableClientScript

نشان می دهد که آیا اعتبارسنجی سمت کلاینت انجام خواهد شد یا خیر.

Enabled

عملیات تأیید اعتبار را فعال یا غیر فعال می کند.

ErrorMessage

رشته خطا را نشان می دهد.

Text

متن خطا را در صورتی که اعتبارسنجی با خطا مواجه شود ، نشان می دهد.

IsValid

نشان می دهد که آیا مقدار کنترل معتبر است یا خیر.

SetFocusOnError

نشان می دهد که اگر کنترل نامعتبر باشد ، فوکوس باید به کنترل ورودی مرتبط تغییر یابد یا خیر.

ValidationGroup

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

Validate()

این متد کنترل را تأیید اعتبار می کند و خصیصه IsValid آن را به روز می کند.

 

کنترل RequiredFieldValidator تضمین می کند که فیلد موردنیاز خالی نیست. به طور کلی این کنترل به یک کادر متنی گره خورده است تا متن را به داخل کادر متنی وارد کند.

قاعده نوشتاری (syntax) این کنترل به صورت زیر می باشد:

<asp:RequiredFieldValidator ID="rfvcandidate" 
   runat="server" ControlToValidate ="ddlcandidate"
   ErrorMessage="Please choose a candidate" 
   InitialValue="Please choose a candidate">
   
</asp:RequiredFieldValidator>

کنترل RangeValidator تأیید می کند که مقدار ورودی در یک محدوده از پیش تعریف شده قرار دارد.

سه خصیصه عمده این کنترل به ترتیب جدول ذیل می باشد:

خصیصه

توضیحات

Type

این خصیصه نوع داده را تعریف می کند. مقادیر موجود برای این خصیصه عبارتند از: Currency ، Date ، Double ، Integer و string.

MinimumValue

این خصیصه مقدار کمینه یک محدوده را مشخص می کند.

MaximumValue

این خصیصه مقدار بیشینه یک محدوده را مشخص می کند.

 

قاعده نوشتاری از این کنترل به صورت زیر می باشد:

<asp:RangeValidator ID="rvclass" runat="server" ControlToValidate="txtclass" 
   ErrorMessage="Enter your class (6 - 12)" MaximumValue="12" 
   MinimumValue="6" Type="Integer">
   
</asp:RangeValidator>

کنترل CompareValidator

کنترل CompareValidator ، مقدار یک کنترل را با یک مقدار ثابت یا با مقدار کنترل دیگری مقایسه می کند.

خصیصه های مخصوص این کنترل به شرح جدول ذیل است:

خصیصه

توضیحات

Type

نوع داده را مشخص می کند.

ControlToCompare

مقدار کنترل ورودی را برای مقایسه کردن مشخص می کند.

ValueToCompare

مقدار ثابت را برای مقایسه کردن مشخص می کند.

Operator

این خصیصه عملگر مقایسه می باشد ، مقادیر موجود برای این خصیصه عبارتند از: Equal ، NotEqual ، GreaterThan ، GreaterThanEqual ، LessThan ، LessThanEqual و DataTypeCheck .


 

قاعده نوشتاری پایه ای مربوط این کنترل به شرح ذیل است:

<asp:CompareValidator ID="CompareValidator1" runat="server" 
   ErrorMessage="CompareValidator">
   
</asp:CompareValidator>

RegularExpressionValidator 

RegularExpressionValidator  ، این امکان را فراهم می کند که تأیید متن ورودی بر اساس تطبیق آن بر اساس یک الگوی عبارت منظم صورت پذیرد. عبارت منظم با خصیصه ValidationExpression تنظیم می شود.

جدول ذیل  خلاصه ای از ساختارهای syntax متداول برای عبارت منظم را نشان می دهد:

کاراکتر Escape

توضیحات

\b

یک backspace را تطبیق می دهد.

\t

یک tab را تطبیق می دهد.

\r

یک حامل return را تطبیق می دهد.

\v

یک tab عمودی را تطبیق می دهد.

\f

یک form feed را تطبیق می دهد.

\n

یک new line را تطبیق می دهد.

\

کاراکتر Escape است.

 

به غیر از تطبیق کاراکتر تکی ، یک کلاس از کاراکترهای مشخص را با فراخوانی metacharacters تطبیق می دهد.

metacharacters

توضیحات

.

هر کاراکتر را به غیر از \n تطبیق می دهد.

[abcd]

هر کاراکتر را در مجموعه تطبیق می دهد.

[^abcd]

شامل هیچ کاراکتری در مجموعه نمی باشد.

[2-7a-mA-M]

هر کاراکتر مشخص شده در محدوده را تطبیق می دهد.

\w

هر کاراکتر عددی و زیر خط دار را تطبیق می دهد.

\W

هر کاراکتر غیر کلمه ای را تطبیق می دهد.

\s

کارکترهای جای خالی مانند space ، tab ، new line و غیره را تطبیق می دهد.

\S

هر کاراکتر غیر خالی را تطبیق می دهد.

\d

هر کاراکتر دسیمال را تطبیق می دهد.

\D

هر کاراکتر غیر دسیمال را تطبیق می دهد.

 

کمیت سنج (Quantifiers) را می توان برای مشخص کردن تعداد دفعاتی که کاراکتر خاصی می تواند ظاهر شود ، اضافه نمود.

کمیت سنج

توضیحات

*

صفر یا اعداد بزرگتر از صفر را تطبیق می دهد.

+

یک یا اعداد بزرگتر را تطبیق می دهد.

?

صفر یا یک را تطبیق می دهد.

{N}

N را تطبیق می دهد.

{N,}

N یا حروف بزرگتر از N را تطبیق می دهد.

{N,M}

N و M را تطبیق می دهد.

قاعده نوشتاری این کنترل به صورت زیر می باشد:

<asp:RegularExpressionValidator ID="string" runat="server" ErrorMessage="string"
   ValidationExpression="string" ValidationGroup="string">
   
</asp:RegularExpressionValidator>

CustomValidator

کنترل CustomValidator ، امکان ایجاد اعتبارسنجی سفارشی برای هر دو سمت کلاینت و سمت سرور را فراهم می کند.

اعتبارسنجی سمت کلاینت از طریق خصیصه ClientValidationFunction انجام می شود. روتین اعتبار سنجی سمت کلاینت ، باید در یک زبان اسکریپتی نوشته شود ، همانند JavaScript یا VBScript ، که مرورگر بتواند آنها را بفهمد.

روتین اعتبارسنجی سمت سرور از کنترل هندلر رویداد ServerValidate فرخوانی شود. روتین اعتبارسنجی سمت سرور باید در یک زبان .Net مانند C# یا VB.Net نوشته شود.

قاعده نوشتاری پایه ای این کنترل به صورت زیر است:

<asp:CustomValidator ID="CustomValidator1" runat="server" 
   ClientValidationFunction=.cvf_func. ErrorMessage="CustomValidator">
   
</asp:CustomValidator>

ValidationSummary

کنترل ValidationSummary هیچ اعتبارسنجی را انجام نمی دهد ، اما یک خلاصه ای از تمام خطاها در صفحه را نمایش می دهد. این خلاصه ، مقادیر خصیصه ErrorMessage را که مربوط به تمام کنترل های اعتبارسنجی هستند و اعتبارسنجی در آنها با شکست مواجه شده است ، نشان می دهد.

دو خصیصه  inclusive این کنترل که پیام های خطا را لیست می کنند ، عبارتند از:

  • ShowSummary : پیام های خطا را در فرمت مشخص شده نشان می دهد.
  • ShowMassageBox : پیام های خطا را یک پنجره جداگانه نشان می دهد.

قاعده نوشتاری این کنترل به صورت زیر است:

<asp:ValidationSummary ID="ValidationSummary1" runat="server" 
   DisplayMode = "BulletList" ShowSummary = "true" HeaderText="Errors:" />

گروه های اعتبارسنجی

صفحات پیچیده ، گروه های مختلفی از اطلاعات را که در پانل های مختلف ارائه می شوند ، دارا می باشد. در چنین وضعیتی ، ممکن است نیاز به اعمال اعتبارسنجی جداگانه برای گروه جداگانه داشته باشیم. چنین شرایطی را می توان با استفاده از گروه های اعتبارسنجی هندل نمود.

برای ایجاد گروه اعتبارسنجی ، ما باید کنترل های ورودی و کنترل های اعتبارسنجی را به داخل گروه منطقی مشابه ، با استفاده از خصیصه ValidationGroup قرار دهیم.

مثال

مثال زیر یک فرمی را تشریح می کند که برای انتخاب مدیر مؤسسه استفاده می گردد و توسط تمام دانشجویان آن مؤسسه پر می گردد. این فرم به چهار خانه تقسیم شده است. در اینجا ، از کنترل هایی برای اعتبارسنجی ورودی کاربر استفاده می کنیم.

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

کد فایل content به صورت زیر است:

<form id="form1" runat="server">

   <table style="width: 66%;">
   
      <tr>
         <td class="style1" colspan="3" align="center">
         <asp:Label ID="lblmsg" 
            Text="President Election Form : Choose your president" 
            runat="server" />
         </td>
      </tr>

      <tr>
         <td class="style3">
            Candidate:
         </td>

         <td class="style2">
            <asp:DropDownList ID="ddlcandidate" runat="server"  style="width:239px">
               <asp:ListItem>Please Choose a Candidate</asp:ListItem>
               <asp:ListItem>M H Kabir</asp:ListItem>
               <asp:ListItem>Steve Taylor</asp:ListItem>
               <asp:ListItem>John Abraham</asp:ListItem>
               <asp:ListItem>Venus Williams</asp:ListItem>
            </asp:DropDownList>
         </td>

         <td>
            <asp:RequiredFieldValidator ID="rfvcandidate" 
               runat="server" ControlToValidate ="ddlcandidate"
               ErrorMessage="Please choose a candidate" 
               InitialValue="Please choose a candidate">
            </asp:RequiredFieldValidator>
         </td>
      </tr>

      <tr>
         <td class="style3">
            House:
         </td>

         <td class="style2">
            <asp:RadioButtonList ID="rblhouse" runat="server" RepeatLayout="Flow">
               <asp:ListItem>Red</asp:ListItem>
               <asp:ListItem>Blue</asp:ListItem>
               <asp:ListItem>Yellow</asp:ListItem>
               <asp:ListItem>Green</asp:ListItem>
            </asp:RadioButtonList>
         </td>

         <td>
            <asp:RequiredFieldValidator ID="rfvhouse" runat="server" 
               ControlToValidate="rblhouse" ErrorMessage="Enter your house name" >
            </asp:RequiredFieldValidator>
            <br />
         </td>
      </tr>

      <tr>
         <td class="style3">
            Class:
         </td>

         <td class="style2">
            <asp:TextBox ID="txtclass" runat="server"></asp:TextBox>
         </td>

         <td>
            <asp:RangeValidator ID="rvclass" 
               runat="server" ControlToValidate="txtclass" 
               ErrorMessage="Enter your class (6 - 12)" MaximumValue="12" 
               MinimumValue="6" Type="Integer">
            </asp:RangeValidator>
         </td>
      </tr>

      <tr>
         <td class="style3">
            Email:
         </td>

         <td class="style2">
            <asp:TextBox ID="txtemail" runat="server" style="width:250px">
            </asp:TextBox>
         </td>

         <td>
            <asp:RegularExpressionValidator ID="remail" runat="server" 
               ControlToValidate="txtemail" ErrorMessage="Enter your email" 
               ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*">
            </asp:RegularExpressionValidator>
         </td>
      </tr>

      <tr>
         <td class="style3" align="center" colspan="3">
            <asp:Button ID="btnsubmit" runat="server" onclick="btnsubmit_Click" 
               style="text-align: center" Text="Submit" style="width:140px" />
         </td>
      </tr>
   </table>
   <asp:ValidationSummary ID="ValidationSummary1" runat="server" 
      DisplayMode ="BulletList" ShowSummary ="true" HeaderText="Errors:" />
</form>

کد پشت کلید submit نیز به صورت زیر است:

protected void btnsubmit_Click(object sender, EventArgs e)
{
   if (Page.IsValid)
   {
      lblmsg.Text = "Thank You";
   }
   else
   {
      lblmsg.Text = "Fill up all the fields";
   }
}

 

فصلِ: 5 , تعداد قسمت ها: 176 , سطح: صفر تا صد

این فصل در یک نگاه:

در این فصل پس از بررسی سیستم مسیریابی و طراحی صفحه نمایش ویدیو ها، به سراغ پنل کاربری خواهیم رفت و مباحث Model Binding و…

توجه: این دوره آموزشی به صورت پیوسته بر اساس آخرین نسخه ی ASP.NET Core بروزرسانی خواهد شد.   آموزش صفر تا صد طراحی سایت اشتراک ویدیو مشابه آپارات با استفاده از  ASP.NET CORE  MVC 3.0 و V…
فصلِ: 8 , تعداد قسمت ها: 357 , سطح: صفر تا صد

این فصل در یک نگاه:

توضیحات کلی مجموعه: در این مجموعه قصد داریم تا فروشگاه اینترنتی دیجی کالا رو با Asp.Net Core3 پیاده سازی کنیم. ابتدا طراحی قالب دیجی کالا رو به صورت کامل انجام خواهیم داد. در مرحله میریم …
فصلِ: 5 , تعداد قسمت ها: 135 , سطح: صفر تا صد

این فصل در یک نگاه:

توضیحات کلی مجموعه: در این مجموعه آموزشی، با استفاده از جدیدترین تکنولوژی ها و ابزار های مایکروسافت (دات نت)، به یک پروژه جذاب مدیریت آگهی مشابه دیوار می پردازیم. این آموزش در دو بخش کلی و…
فصلِ: 7 , تعداد قسمت ها: 153 , سطح: صفر تا صد
موضوعات: آموزش ASP.NET

این فصل در یک نگاه:

در این دوره به آموزش صفر تا صد جدیدترین نسخه ASP یعنی CORE جدیدترین ورژن خواهیم پرداخت.این آموزش از سطح مقدماتی تا فوق …

دوره آموزش کامل طراحی وب به همراه پروژه ساخت سیستم مدیریت کتابخانه  این دوره  با کور 1 آغاز می شود و در ادامه پروژه به کور 2 تبدیل می شودو پروژه نهایی (سیستم مدیریت کتابخانه) با Asp.net کور…
فصلِ: 1 , تعداد قسمت ها: 5 , سطح: متوسط

این فصل در یک نگاه:

ساخت محیط کاربریآموزش نحوه ی ارسال ایمیل در Asp.net MVCآموزش تنظیمات Gmail برای استفادهاستفاده از Yahooاستفاده از سرویس …

به نام خدا... در خدمتتون هستم با آموزش ارسال ایمیل در Asp.net MVC... ارسال ایمیل یکی از اجزای اصلی ییک سایت به شمار می رود و واقعا سایتی که برای اجزای مختلفش همانند ثبت کاربر جدید و یا ارسال…
فصلِ: 2 , تعداد قسمت ها: 62 , سطح: صفر تا صد

این فصل در یک نگاه:

فصل دوم در یک نگاه:فصل دوم در یک نگاه:…

در این پکیج به مبحث طراحی وب ، در قالب ساخت یک سایت فروشگاهی 5040 به آدرس http://5040.ir می پردازیم که به جرات مشهورترین و یکی از برترین فروشگاه های مجازی در کشور است. در این مجموعه قصد داری…
فصلِ: 4 , تعداد قسمت ها: 78 , سطح: متوسط

این فصل در یک نگاه:

در این دوره آموزشی، وبسایت ورزش3 را با استفاده از ASP.NET Core پیاده سازی می کنیم و همچنین اپ اندروید آن را هم با Xamarin متصل به سرور سایت طراحی و در نهایت نحوه انتشار آن در مارکت هایی مثل …
فصلِ: 1 , تعداد قسمت ها: 14 , سطح: متوسط

این فصل در یک نگاه:

کاملترین آموزش هاست و کار با سی پنل.در هنگام خرید سرویس هاست کلمه ای به نام “کنترل پنل” را زیاد خواهید دید آیا تا به حال…

سی پنل یک کنترل پنل هاست محبوب و معروف در جهان و ایران است. در فیلم آموزش سی پنل هم توصیه اکید شده تا افراد مبتدی و حتی افراد حرفه ای از این کنترل پنل هاست سی پنل استفاده کنند. آموزش cpanel …
فصلِ: 5 , تعداد قسمت ها: 25 , سطح: صفر تا صد

این فصل در یک نگاه:

فصل پنجم…

توضیحات کلی مجموعه: درباره گیت: لذت پیش بردن پروژه های برنامه نویسی خود را با بهترین ورژن کنترل سیستم جهان تجربه کنید کامل ترین دوره ی آموزشی گیت و گیت هاب به همراه مثال های کاربردی گی…
فصلِ: 1 , تعداد قسمت ها: 15 , سطح: متوسط

این فصل در یک نگاه:

رشد و درآمدزایی یک وب سایت یا کسب و کار اینترنتی کاملا به ذوق و مهارت وب مستر یا همان مدیر اصلی وب سایت گره خورده و متاس…

 اصول مدیریت وب سایت برای وب مستر شدن برای موفقیت یک وب سایت لازم الاجراست. زیرا شما دوست دارید وب سایت خود را به کارخانه پولسازی تبدیل کنید. این واقعیت رویا نیست. هرکس این اصول را بداند به …

تولید شده توسط کلیک سایت

پشتیبانی آنلاین
آماده پاسخگویی هستیم
انتخاب تصویر جهت ارسال:
در حال ضبط صدا

(جهت توقف و یا لغو ضبط از دکمه های زیر استفاده کنید)

توقف و ارسال :
لغو ضبط
در حال حاضر تمامی کارشناسان آفلاین هستند. همواره می توانید با شماره تلگرام / واتساپ 09010005000 به صورت آنلاین با ما در ارتباط باشید. جهت ورود به واتساپ کلیک کنید
0 پیام جدید
پشتیبان در حال تایپ ...
ارسال تصویر ضبط صدا
0 کارشناسان آنلاین می باشند
این گفت و گو توسط پشتیبان به اتمام رسید