دوره های آموزشی آکادمی پی وی لرن (پروژه محور و ویژه بازار کار)



  • ۵
  • شهریور

جلسه ۲۵ : پیاده سازی اعتبارسنجی در ASP.NET MVC

  • دسته‌بندی‌ها :
جلسه ۲۵ : پیاده سازی اعتبارسنجی در ASP.NET MVC
    • جزئیات
    • نوع محتواآموزش تصویری

      مقدمه

      با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن . و کاربرانی که دوره کامل آموزش ASP.NET MVC ، را دنبال می کنند. بعد از ایجاد فرم ها در MVC مبحث بعدی که مطرح خواهد شد، چگونگی پیاده سازی و استفاده از اعتبار سنجی های مختلف برای فیلدهای ورودی فرم است. اعتبار سنجی یکی از اصلی ترین بخش های تشکیل دهنده ی طراحی فرم ها و صفحات وب است، چرا که با استفاده از آن می توانیم وضعیت ورودی های فرم را از جمله خالی نبودن فیلدهای ورودی ، تعداد کاراکترها ، وارد شدن ورودی در قالب مشخص شده و …را کنترل کنیم. از این رو ما مباحث این فصل را به اعتبار سنجی در ASP.NET MVC و آموزش اولین بخش از این فصل را نیز به چگونگی پیاده سازی اعتبارسنجی در ASP.NET MVC و ویژگی DataAnnotations در ASP.NET  اختصاص داده ایم.

      پیاده سازی اعتبارسنجی در ASP.NET MVC

      در این بخش یاد خواهید گرفت که چه طور اعتبار سنجی داده ها را در یک برنامه ی ASP.NET MVC پیاده سازی کنید.

      در بخش های قبلی ما یک نمای Edit را برای Student ایجاد کردیم. حالا می خواهیم که یک اعتبار سنجی داده برای نمای Edit ایجاد کنیم.

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

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

      ویژگی DataAnnotations

      فریم ورک ASP.NET MVC از ویژگی DataAnnotations برای پیاده سازی اعتبار سنجی نوع داده استفاده می کند.

      DataAnnotations شامل ویژگی های تشکیل دهنده ی اعتبارسنجی برای انواع قوانین اعتبارسنجی می شود. که می تواند به ویژگی های مدل کلاس اضافه شود.

      فریم ورک ASP.NET MVC بصورت خودکار قوانین و پیام های اعتبار سنجی را در نمای view نمایش می دهد.

      ویژگی DataAnnotations در کلاس فضای نام System.ComponentModel.DataAnnotations قرار دارد.

      جدول زیر لیستی از ویژگی های اعتبارسنجی را نمایش می دهد:

      AttributeDescription
      Requiredنشان می دهد که یک فیلد نباید خالی باشد.
      StringLengthحداکثر طول رشته ورودی در یک فیلد را مشخص می کند.
      Rangeبازه ی ورودی داده های عددی را در یک فیلد مشخص می کند.
      RegularExpressionمشخص می کند که داده های یک فیلد مانند ایمیل باید در یک قالب مشخص وارد شوند.
      CreditCardمشخص می کند که ورودی یک فیلد فقط در قالب شماره کارت باید وارد شود.
      CustomValidationبرای ایجاد اعتبارسنجی مورد نظر بکار می رود.
      EmailAddressمشخص می کند که ورودی فیلد باید در قالب ایمیل وارد شود.
      FileExtensionورودی با پسوند فایل تایید می شود.
      MaxLengthحداکثر طول رشته ی ورودی را برای یک فیلد مشخص می کند.
      MinLengthحداقل طول رشته ی ورودی را برای یک فیلد مشخص می کند.
      Phoneمشخص می کند که ورودی یک فیلد باید یک قالب شماره تلفن باشد.

      مراحل ایجاد اعتبار سنجی در نمای Edit از کلاس student

      ۱- ابتدا باید ویژگی DataAnnotation را برای ویژگی های کلاس مدل Student تعریف کنید، که ما در این مثال می خواهیم مشخص کنیم که ویژگی های StudentName و Age نباید خالی باشد و همچنین ورودی Age باید بین ۵ تا ۵۰ باشد:

      مثال : 

      در مثال فوق، ما اعتبار سنجی Required را به ویژگی StudentName اعمال کرده ایم، بنابراین فریم ورک MVC بصورت خودکار پیام های خطا را نمایش می دهد.

      اگر کاربر ورودی های StudentName  و Age را وارد نکرده و روی save کلیک کند، پیغام خطای اعتبارسنجی Required  ظاهر می شود.

      همچنین اگر ورودی Age بیشتر از ۵۰ با کمتر از ۵ باشد نیز پیغام خطای اعتبارسنجی Range ظاهر می شود.

      مرحله ۲ :

      متدهای GET و POST متد اجرایی را همانند بخش های قبلی ایجاد کنید. متد GET نمای Edit را به حالت ویرایش student انتخاب شده می برد.

      متد ویرایش POST نیز student ویرایش شده را نشان می دهد:

      مثال : 

      ما ابتدا چک می کنیم که ModelState معتبر است یا خیر. اگر ModelState معتبر بود سپس student را در پایگاه داده بروزرسانی خواهیم کرد، و اگر معتبر نبود مجددا نمای Edit را با داده های student باز می گردانیم.

      ModelState.IsValid تشخیص می دهد که مقادیری که ارسال شده، باید مورد تایید تمام اعتبار سنجی های ویژگی DataAnnotation که به ویژگی های کلاس model اعمال شده باشد.

      مرحله ۳

      در حال حاضر یک نمای Edit برای Student ایجاد کنید.

      برای ایجاد نمای Edit داخل متد اجرایی Edit راست کلیک کرده و سپس روی ..Add View کلیک کنید.

      مرحله 3 

      در پنجره ی Add View نام نمایه را Edit تنظیم کنید.

      قالب Edit را از منوی کشویی Template انتخاب کرده و مدل کلاس Student را نیز انتخاب نمایید.

      انتخاب مدل کلاس

      اکنون روی Add برای تولید نمای Edit زیر فولدر View/Student کلیک کنید. Edit.cshtml تولید شده و نمایش داده می شود.

      مثال – تولید Edit.cshtml :

      مثال : 

      همانطور که در Edit.cshtml در بالا مشاهده می کنید، آن را متد ValidationMessageFor برای هر فیلد و متد ValidationSummary در بالا می نامند.

      ValidationMessageFor برای نمایش پیغام خطا برای برای فیلد مشخص شده ، انعطاف پذیر است.

      ValidationSummary لیستی از تمام پیغام های خطا را نمایش می دهد.

      بنابراین حالا اگر اطلاعات فرم Edit را بدون وارد کردن ورودی های Name یا Age ارسال کنید، پیغام های اعتبار سنجی نمایش داده می شود.

      پیغام های اعتبارسنجی

      بنابراین شما می توانید اعتبارسنجی ها را با انواع ویژگی DataAnnotation به کلاس model و با استفاده از متدهای ()ValidationMessage یا ()ValidationMessageFor در نمای view اعمال کنید.

      نکات زیر را به خاطر بسپارید:

      ۱- ASP.NET MVC از ویژگی های DataAnnotations برای اعتبار سنجی استفاده می کند.

      ۲- ویژگی های DataAnnotations می تواند به ویژگی های کلاس model اعمال شود.

      ۳- ویژگی های اعتبار سنجی زیر در بصورت پیش فرض در دسترس اند:

      1. Required
      2. StringLength
      3. Range
      4. RegularExpression
      5. CreditCard
      6. CustomValidation
      7. EmailAddress
      8. FileExtension
      9. MaxLength
      10. MinLength
      11. Phone

      ۴- از ValidationSummary برای نمایش دادن تمام خطاها در نمای view استفاده کنید.

      ۵- از متدهای کمکی ValidationMessageFor یا ValidationMessage  برای نمایش سطح خطاها در view استفاده کنید.

      ۶- قبل از بروزرسانی متد اجرایی، معتبر بودن مدل را با استفاده از ModelState.IsValid بررسی کنید.

      ۷- اعتبار سنجی سمت سرور را برای نمایش پیغام های خطا بدون استفاده از postback فعال کنید.

      کلام آخر

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

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

      QR:  جلسه ۲۵ : پیاده سازی اعتبارسنجی در ASP.NET MVC
      به اشتراک بگذارید


      دیدگاه کاربران
      1. تصویر کاربر
      2. تصویر کاربر