loading...
طراحی وب- برنامه نویسی
برنامه نویس بازدید : 164 جمعه 04 مرداد 1398 نظرات (0)

در این مقاله قصد داریم نحوه اعتبارسنجی فرم در انگولار را به شما آموزش دهیم. در انگولار 7 دو نوع فرم داریم که عبارتند از فرم های قالب گرا (Template Driven Form) و فرم های واکنشی (Reactive Form).

در این آموزش به شما بهترین روش ایجاد یک فرم و اعتبارسنجی آن در انگولار 7 را آموزش می دهیم. بعد از آن به بحث درباره اعتبارسنجی هر دو نوع فرم قالب گرا (Template Driven) و واکنشی (Reactive) در انگولار می پردازیم. همچنین مفاهیم اساسی مانندFormControl ،FormGroup ، FormBuilder و انواع اعتبارسنجی های پیش فرض در انگولار را بررسی خواهیم کرد.

سرفصل های این آموزش

  1. مقدمه
  2. اعتبارسنجی های فرم های قالب گرا
  3. نصب انگولار 7
  4. اعتبارسنجی فرم های واکنشی در انگولار 7

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

فرم ها تقریباً در هر برنامه تحت وب یا موبایل کاربردهای زیادی برای عملیات ورود داده مثل احراز هویت کاربران، سفارش خرید یا ساخت پروفایل دارند. همچنین هدف اصلی فرم ها در برنامه های تحت وب یا موبایل، دریافت داده ها از کاربر است.

اعتبارسنجی فرم های قالب گرا در انگولار

در این قسمت می خواهیم اعتبارسنجی فرم های قالب گرا در انگولار را بررسی کنیم و برای اعتبارسنجی از خصیصه (attribute) های یک فرم عادی html استفاده می شود.

انگولار از directive ها برای مطابقت دادن این خصیصه ها با توابع اعتبارسنجی سیستم، استفاده می کند. هر زمان که مقدار یک کنترل فرم تغییر کرد، انگولار عمل اعتبارسنجی را اجرا کرده و در صورت بروز یک خطا، وضعیت invalid و در غیر اینصورت مقدار وضعیت را valid قرار می دهد. حال با یک مثال این قابلیت را بررسی می کنیم.

نصب انگولار 7

ترمینال را باز کرده و از دستور زیر برای نصب انگولار 7 استفاده کنید

نصب انگولار 7

حال به فولدر ng7Validate رفته و آنرا در یک ویرایشگر متنی مثل VSCode باز کنید.

سپس بوت استرپ 4 را با دستور زیر نصب کنید.

حال بوت استرپ را به آرایه styles در فایل angular.json اضافه کنید.

 

اعتبارسنجی فرم های قالب گرا در انگولار 7

فایل app.module.ts را باز کرده و FormModule را به آن اضافه کنید.

سپس کدهای زیر را به فایل app.component.ts اضافه کنید.

هنگامی که کاربر فرم را ارسال کند، مقادیر آنها را گرفته و داده ها را به سرور انتقال می دهیم.

حال فایل قالب یعنی app.component.ts را باز کرده و خصیصه های اعتبارسنجی فرم را داخل این فایل اضافه می کنیم.

 

اعتبارسنجی فرم در انگولار 7

در صورتی که هنگام اعتبارسنجی خطایی اتفاق بیفتد، دکمه submit غیرفعال می شود، اما اگر وضعیت فرم معتبر (valid) باشد، می توانیم مقادیر فرم را ارسال کنیم.

آموزش اعتبارسنجی فرم های واکنشی (Reactive)

در قسمت قبل روش اعتبارسنجی فرم های قالب گرا را دیدیم. در این قسمت به آموزش نحوه اعتبارسنجی فرم های واکنشی در انگولار 7 می پردازیم.

فرم های واکنشی (Reactive)

فرم های واکنشی یکی از تکنیک های انگولار برای ساخت فرم های به سبک Reactive است.

فرم های واکنشی به سبکی از برنامه نویسی Reactive (واکنشی) گفته می شود که منجر به مدیریت صریح داده های موجود بین یک مدل داده بدون رابط کاربری (که معمولاً از یک سرور دریافت می شوند) و یک مدل مبتنی بر رابط کاربری شود. این نوع برنامه نویسی حالت های فرم کنترل Html را روی صفحه حفظ می کند.

فرم های واکنشی باعث راحتی استفاده از الگوی برنامه نویسی reactive شده و همچنین تست پذیری و اعتبارسنجی فرم را راحت می کند. در زیر یک مثال از نحوه کار با فرم های Reactive را آورده ایم.

ابتدا ماژول ReactiveFormsModule را به فایل app.module.ts، وارد یا import کنید.

همچنین ماژول های FormGroup ،FormBuilder و Validator را از پکیج @angular/forms به داخل فایل app.component.ts، وارد یا import کنید.

از طرفی یک سازنده ایجاد کرده و FormBuilder را در آن مقداردهی اولیه می کنیم.

در بالا از FormBuilder برای مدیریت تمام اعتبارسنجی ها، استفاده کردیم. سپس یک فرم همراه با قواعد اعتبارسنجی در آن سازنده ایجاد کردیم.

حال کدهای زیر را در فایل app.component.html قرار دهید.

فایل را ذخیره کرده و به مرورگر بر گردید.در تصویر زیر نحوه کار اعتبارسنجی فرم را ملاحظه می کنید.

اعتبارسنجی فرم در انگولار 7

در نهایت کدهای مربوط به فرم مان باید مطابق زیر باشد.

به این ترتیب، آموزش نحوه  اعتبارسنجی یک فرم در انگولار 7 به پایان رسید

 

منبع: روکسو

 

 
ارسال نظر برای این مطلب

کد امنیتی رفرش
اطلاعات کاربری
  • فراموشی رمز عبور؟
  • آرشیو
    آمار سایت
  • کل مطالب : 346
  • کل نظرات : 0
  • افراد آنلاین : 1
  • تعداد اعضا : 0
  • آی پی امروز : 12
  • آی پی دیروز : 17
  • بازدید امروز : 57
  • باردید دیروز : 21
  • گوگل امروز : 2
  • گوگل دیروز : 5
  • بازدید هفته : 131
  • بازدید ماه : 496
  • بازدید سال : 7,005
  • بازدید کلی : 35,240