
امروز میخوام درباره form validation یعنی چک کردن داده های ورودی که کاربر وارد می کند ، صحبت کنیم.form validation خیلی تو پروژه های ما مهم هست و ما همیشه باهاش سرکار داریم.
حالا امروز می خوایم باهم ببینیم چجوری میشه در Laravel این کار رو انجام بدیم .
ظاهر فرم امون رو میخوایم با بوت استرپ درست کنیم که در نهایت به این شکل در میاد :
ما در این برنامه ای که میخوایم بنویسیم کارهای زیر رو انجام میدیم :
1- اعتبار سنجی فریم و اطلاعات ارسالی
2-نمایش ارورهای مروبطه به کاربر
3-ایجاد ارورهای سفارشی
Database and Models
خب ابتدا یک پایگاه داده در xamp یا wamp ایجاد کنید تا جداولی که نیاز داریم رو در اون قرار دهیم. جداول رو با استفاده از فریم ورک لاراول ایجاد میکنیم (به وسیله کد).
بعد از اینکه دیتابیس رو ساختیم در شاخه ی
Migration :
فریم ورک لاراول همان طور که میدونید امکانی داره به نام Migration که در واقع به وسیله اون ما می تونیم جدول های خودمون رو بسازیم.
برای این کار کافیه در ترمینال دستور زیر را وارد نماییم و اینتر را بزنیم :خب تو این دستور ما گفتیم که یک Migration ایجاد کن با نام create_ducks_table و در انتهای دستور با عبارت create=ducks گفتیم که نام جدول مورد نظر ما ducks است.
پس از اجرای این دستور Migration ما ساخته می شود و در شاخه app/databases/migrations/ با نامی که براش تعریف کردیم ایجاد خواهد شد .
کدهای داخل تابع Up را مانند کدهای بالا وارد نمایید. در بالا ما گفتیم که جدولمان باید دارای 4 فیلد با نام های مشخص شده و نوع های مشخص شده باشد.
خب تا اینجا ما اسم جدول و فیلدهاشو معرفی کردیم حالا باید این Migration را اجرا کنیم.برای اجرای آن نیاز به اجرای دستور زیر در ترمینال هستیم :
Model :
خب برای شروع نیاز داریم تا یک Modal به نام ducks ایجاد کنیم . همان طور که میدانید modal ها را در شاخه . ایجاد خواهیم کرد.
خب این از تعریف MODAL که نماینده ی جدول DUCKS هست.(یادتون باشه نام مادل رو DUCK و نام جدول رو DUCKS قرار دادیم.نام جدول باید یک S بیشتر داشته باشد)
Setting Up Our Routes
حالا نوبت به تعریف مسیرها ( ROUTE) میرسه.مسیر ها هم همیشه داخل app/routes.php تعریف میشن. از درخواست GET برای نشان دادن فرم و از درخواست POST برای پردازش اطلاعات اون فرم استفاده می کنیم
مسیر ها که مشخص شد دیگه میتونین در آدرس بار آدرس http://example.com/ducks را وارد نماییدو تست نمایید.البته ممکنه به ارور برخورد کنید چون هنوز قسمت View ها رو تکمیل نکردیم و باید فرممون رو اونجا قرار بدیم :
Creating Our View
View هایی که ایجاد می کنیم در شاخه ی app/views/duck-form.blade.php قرار خواهد گرفت.. پس یک فایل به نام duck-form.blade.php در آن شاخه ایجاد نمایید.
فریم ورک لاراول از تمپلت انجینی(templating engine) استفاده می کنه به نام Blade که کارش ارتباط بین کدهای PHP و HTML است و درواقع از درهم شدن این دو نوع کد در یک صفحه جلوگیری میکنه و ظاهر زیبایی به کدهای ما میده (Laravel’s Blade).
اینجا برای ایجاد فرم امون از کدهای بوت استرپ کمک گرفتیم و فرممون رو ساختیم.اگر با فریم ورک بوت استرپ آشنا باشین حتما با این کدها هم آشناییت دارین در غیر این صورت میتونین به صورت ساده فرم خودتون رو با HTML پیاده سازی کنید و فرقی نمیکنه.
ظاهر فرم ما تقریبا به این صورت میشود :