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



  • ۲۹
  • مرداد

جلسه ۱۸ : اعتبار سنجی فرم ها در AngularJS

  • دسته‌بندی‌ها :
جلسه ۱۸ : اعتبار سنجی فرم ها در AngularJS
    • جزئیات
    • نوع محتواآموزش تصویری

      مقدمه

      با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن . و کاربرانی که دوره کامل آموزش AngularJS را دنبال می کنند. این بخش در تکمیل بخش قبلی که با موضوع کار با عناصر فرم ها در AngularJS تدریس شد. ارائه شده است. هدف از ارائه این آموزش، آشنایی با مباحث validation در آنگولار جی اس یا اعتبار سنجی فرم ها در AngularJS ، می باشد.

      validation یا اعتبار سنجی فرم ها، در Input ها یا عناصر ورودی فرم ها، کاربرد دارد. و عملکرد آن به این صورت است. که ورودی هایی مانند Email که در فرمت خاصی باید وارد شوند را چک می کند. که در فرمت صحیح خود، از طرف کاربر وارد شود. در ادامه بخش با استفاده کردن از این مبحث در آنگولار آشنا می شوید.

      اعتبار سنجی فرم ها در AngularJS

      AngularJS قابلیت اعتبار سنجی عناصر Input فرم ها را ارائه می دهد.

      AngularJS وضعیت حالت فرم و ورودی (ورودی، متن را انتخاب کنید) را نظارت می کند. و به شما اجازه می دهد تا کاربر را در مورد وضعیت فعلی مطلع کنید.

      AngularJS همچنین اطلاعاتی در مورد اینکه آیا آنها ویرایش شده اند یا اصلاح شده اند. یا خیر را ارائه می دهد.

      شما می توانید از ویژگی های استاندارد HTML5 برای تأیید ورودی استفاده کنید. یا می توانید توابع اعتبار سنجی خود را در آنگولار ایجاد کنید.

      اعتبار سنجی required

      از ویژگی required در html5 می توانید برای مشخص کردن فیلدهایی که باید توسط کاربر پر شوند، استفاده کنید.

      مثال : استفاده از خصوصیت required

      خودتان امتحان کنید »

      مثال : 

      اعتبار سنجی Email

      از ویژگی نوع email نیز می توانید برای اعتبار سنجی فیلدهایی که نیاز به وارد کردن email دارند. استفاده کنید.

      مثال : استفاده از اعتبار سنجی email

      خودتان امتحان کنید »

      مثال : 

      Form State و Input State

      AngularJS به طور مداوم وضعیت هر دو فرم و فیلد های ورودی را به روز می کند.

      فیلدهای Input شامل حالت های زیر است:

      • $untouched : فیلد هنوز لمس نشده است.
      • $touched :  فیلد لمس شده است.
      • $ prehistoric : این فیلد هنوز تغییر نکرده است.
      • $ dirty : این فیلد اصلاح شده است.
      • $invalid : محتوای فیلد معتبر نیست.
      • $valid : محتوای فیلد معتبر است.

      گزینه های بالا تمام خصوصیات فیلدهای Input است. که مقادیر true یا false را می پذیرد.

      فرم ها دارای حالت های زیر است:

      • $pristine : فیلدی هنوز دستکاری نشده  است.
      • $dirty : یک فیلد یا بیشتر تغییر کرده است.
      • $invalid : محتوای فرم نا معتبر است.
      • $valid : محتوای فرم معتبر است.
      • $submitted : محتوای فرم ارسال شده است.

      گزینه های بالا تمام خصوصیات فرم هاست. که مقادیر true یا false را می پذیرد.

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

      مثال : اعتبار سنجی خالی نبودن فیلد

      خودتان امتحان کنید »

      مثال : 

      کلاس های CSS

      AngularJS کلاس های CSS را به فرم ها و فیلد های ورودی بسته به حالت های آنها اضافه می کند.

      کلاس های زیر به فیلدهای ورودی اضافه شده یا حذف می شوند:

      • ng-untouched : این فیلد هنوز لمس نشده است.
      • ng-touched : این فیلد لمس شده است.
      • ng-pristine : این فیلد هنوز تغییر نکرده است.
      • ng-dirty : فیلد اصلاح شده است.
      • ng-valid  : محتوای فیلد معتبر است.
      • ng-invalid : محتویات فیلد معتبر نیست.
      • ng-valid-key : یک کلید که برای هر اعتبار سنجی به کار می رود. مثال: ng-valid-required، که برای زمانی که بیش از یک چیز وجود دارد که باید تایید شود.مفید است.

      کلاس های زیر به فرم ها، اضافه شده یا حذف می شوند:

      • ng-pristine : هیچ فیلدی اصلاح نشده است.
      • ng-dirty : یک یا چند فیلد اصلاح شده است.
      • ng-valid : محتوای فرم معتبر است.
      • ng-invalid : محتوای فرم معتبر نیست.
      • ng-valid-key : یک کلید که برای هر اعتبار سنجی به کار می رود. مثال: ng-valid-required، که برای زمانی که بیش از یک چیز وجود دارد که باید تایید شود.مفید است.

      کلاس ها اگر مقدار false بگیرند، حذف می شوند.

      Style ها را برای این کلاس ها، به سلیقه ی خود برای داشتن رابط کاربری بهتر و بصری تر، اضافه کنید.

      مثال : استفاده از کد css

      خودتان امتحان کنید »

      مثال : 

      فرم ها را نیز می توانید Style کنید.

      مثال : Style کردن فرم ها

      خودتان امتحان کنید »

      مثال : 

      ایجاد اعتبار سنجی جدید

      ایجاد یک تابع اعتبار سنجی جدید کمی پیچیده تر است. شما باید یک دستورالعمل جدید را به برنامه خود اضافه کنید. و با اعتبار سنجی درون یک تابع با آرگومان های مشخص، مقادیر را مبادله کنید:

      مثال:

      دستورالعمل خود را که حاوی یک تابع اعتبار سنجی سفارشی باشد را ایجاد کنید،  و با استفاده از my-directive از اعتبار سنجی جدید، استفاده کنید.

      در این مثال ورودی فیلد، معتبر خواهد بود اگر مقدار شامل حرف”e” باشد:

      مثال : ایجاد تابع اعتبار سنجی

      خودتان امتحان کنید »

      مثال : 

      تشریح مثال فوق:

      در کد HTML، دستورالعمل جدید با استفاده از ویژگی my-directive به آن اشاره می کند.

      در جاوا اسکریپت ما با اضافه کردن یک دستور جدید به نام myDirective شروع می کنیم.

      به خاطر داشته باشید. هنگام نامگذاری یک دستور، شما باید از نام  myDirective را استفاده کنید، اما هنگام فراخوانی، باید از نام جدا شده، my-directive استفاده کنید.

      سپس، جایی که شما مشخص می کنید، ما به ngModel نیاز داریم، که در ngModelController قرار دارد.

      یک تابع پیوند ایجاد می شود. که برخی از آرگومان ها را در بر می گیرد، جایی که آرگومان چهارم mCtrl درواقع mCtrlngModelController است

      سپس یک تابع را با نام myValidation مشخص می کنیم. که یک آرگومان را می گیرد، این آرگومان ارزش عنصر ورودی است.

      تست به این صورت است که  اگر مقدار حاوی حرف “e” باشد. اعتبار سنجی درست یا غلط بودن را مشخص می کند.

      در نهایت، (mCtrl $ parsers.push (myValidation تابع myValidation را به آرایه ای از توابع دیگر اضافه می کند. که هر بار مقدار ورودی تغییر می کند اجرا می شود.

      مثال : اعتبار سنجی جدید

      خودتان امتحان کنید »

      مثال : 

      تشریح مثال فوق:

      دستور ng-directive عناصر ورودی را به مدل متصل می کند.

      شیء مدل دارای دو ویژگی است: user (کاربر) و email (ایمیل).

      به دلیل استفاده از ng-show عناصر span با رنگ قرمز نمایش داده می شود. البته تنها زمانی که user یا email  برابر با $dirty یا $invalid باشد.

      کلام آخر

      به منظور اهمیت مبحث اعتبار سنجی عناصر ورودی فرم ها و استفاده ی گسترده ی آن در صفحات وب، در این بخش ما به آموزش موضوع اعتبار سنجی فرم ها در AngularJS ، پرداختیم. تا شما را با مقوله ی اعتبار سنجی فیلد ورودی در آنگولار، آشنا کنیم.

      QR:  جلسه ۱۸ : اعتبار سنجی فرم ها در AngularJS
      به اشتراک بگذارید