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

آموزش اعتبارسنجی validation در لاراول با مثال


اعتبارسنجی (Validation) مهم ترین جنبه در طراحی یک اپلیکیشن است. این عملیات، داده های ورودی کاربر (Requests)را، اعتبارسنجی می کند. به طور پیش فرض، کلاس controller -ِ پایه (base controller) از یک trait به نام ValidatesRequests استفاده می کند. این trait، با قواعدِ قدرتمندی که دارد، درخواست های HTTP ورودی رابا روش های کارآمدی، اعتبارسنجی می کند.

به زبان ساده، اعتبارسنجی یعنی اینکه روی ورودی های کاربر، کنترل صورت گیرد و چک شود آیا ورودی های کاربر، همان چیزی هست که ما از او انتظار داریم یا خیر. اگر ورودی ها صحیح باشد کاربر را وارد مرحله جدید می کنیم، درغیر این صورت عملیاتِ مورد نظرِ کاربر، انجام نمی گیرد و پیغام خطا برای او نمایش داده می شود.

قوانین اعتبار سنجی موجود در Laravel

ممکن است برای شما این سوال پیش بیاید اگر پارامترهایی که کاربر می فرستند، با قوانین اعتبارسنجی منطبق نباشد چه اتفاقی می افتد؟

همان طور که قبلا گفته شده کاربر را ، به صفحه قبل باز می گرداند و خطاهای اعتبارسنجی تولید شده را ، در داخل session  ذخیره می کند. نیازی به bind کردن و فرستادن این خطاها به View نیست. زیرا لاراول تمامی خطاها را در session ذخیره کرده است.و آنها را بصورت خودکار به view متصل یا bind می کند.

به عبارتی متغیر errors$  در همه View ها موجود و قابل دسترسی می باشد و می توانید به راحتی از آن استفاده نمایید.

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

قوانین اعتبار سنجی موجود در Laravel

Accepted

Active URL

After (Date)

Alpha

Alpha Dash

Alpha Numeric

Array

Before (Date)

Between

Boolean

Confirmed

Date

Date Format

Different

Digits

Digits Between

E-Mail

Exists (Database)

Image (File)

In

Integer

IP Address

JSON

Max

MIME Types(File)

Min

Not In

Numeric

Regular Expression

Required

Required If

Required Unless

Required With

Required With All

Required Without

Required Without All

Same

Size

String

Timezone

Unique (Database)

URL

 

نمایش error ها در view

متغیر  errors$ یک نمونه ازکلاس Illuminate \ Support \ MessageBag خواهد بود.پیام خطا را می توان در فایل view، به وسیله قرار دادن قطعه کد زیر نمایش داد.

@if (count($errors) > 0)
   <div class = "alert alert-danger">
      <ul>
         @foreach ($errors->all() as $error)
            <li>{{ $error }}</li>
         @endforeach
      </ul>
   </div>
@endif

 

مثال :

مرحله 1 – با وارد کردن دستور artisan زیر در خط فرمان (command-line)، یک controller به نام ValidationController بسازید.

php artisan make:controller ValidationController --plain

 

مرحله 2 –- بعد از ساخت controller، پیامی مبنی بر موفقت آمیز بودن دستور فوق برای شما نمایش داده می شود.

 

مرحله 3 – کد زیر را در فایل app/Http/Controllers/ValidationController.php قرار دهید.

<?php

 
namespace App\Http\Controllers;

 
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;

 
class ValidationController extends Controller {
   public function showform(){
      return view('login');
   }
   public function validateform(Request $request){
      print_r($request->all());
      $this->validate($request,[
         'username'=>'required|max:8',
         'password'=>'required'
      ]);
   }
}

 

مرحله 4 – یک فایل view به نام resources/views/login.blade.php بسازید و کدهای زیر را در آن فایل قرار دهید.

<html>
   
   <head>
      <title>Login Form</title>
   </head>

 
   <body>
      
      @if (count($errors) > 0)
         <div class = "alert alert-danger">
            <ul>
               @foreach ($errors->all() as $error)
                  <li>{{ $error }}</li>
               @endforeach
            </ul>
         </div>
      @endif
      
      <?php
         echo Form::open(array('url'=>'/validation'));
      ?>
      
      <table border = '1'>
         <tr>
            <td align = 'center' colspan = '2'>Login</td>
         </tr>
         <tr>
            <td>Username</td>
            <td><?php echo Form::text('username'); ?></td>
         </tr>
         <tr>
            <td>Password</td>
            <td><?php echo Form::password('password'); ?></td>
         </tr>
         <tr>
            <td align = 'center' colspan = '2'
               ><?php echo Form::submit('Login'); ?  ></td>
         </tr>
      </table>
      
      <?php
         echo Form::close();
      ?>
   
   </body>
</html>

 

مرحله 5 – Route های زیر را در فایل app/Http/routes.php قرار دهید.

Route::get('/validation','ValidationController@showform');
Route::post('/validation','ValidationController@validateform');

 

مرحله 6 – مرورگر خود را باز کنید و URL زیر را در آن وارد کنید.

http://localhost:8000/validation

 

مرحله 7 – بدون اینکه فیلدهای username و password را پر کنید روی دکمه login کلیک کنید.یکسری پیام مطابق تصویر زیر برای شما نمایش داده می شود.

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

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

آشنایی با امکانات جدید لاراول ۷…

برخی از سرفصل های این پکیج آموزشی :   لاراول چیست و چرا ما لاراول استفاده میکنیم کامپوزر کارش چیه و نصب اون نصب لاراول آموزش نصب لاراول از طریق اینستالر آموزش نصب لاراول با استفاده ا…
فصلِ: 1 , تعداد قسمت ها: 2 , سطح: متوسط

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

بهترین و پر بازده ترین روش تبدیل بازدیدکننده سایت به مشتری تبلیغات هدفمند و برند سازی هوشمندانه با ایمیل می باشد. ایمیل…

  وبینار(سمینار آنلاین) آموزش تکنیک های ایمیل مارکتینگ   اگر تا انتها این متن را مطالعه کنید نظر شما در مورد ایمیل مارکتینگ 180 درجه عوض می شود!! بر هیچکس پوشیده نیست که از سال 1972 که ای…
فصلِ: 4 , تعداد قسمت ها: 368 , سطح: صفر تا صد

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

مباحث تکمیلی فریم ورک لاراول…

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

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

مباحث مقدماتی فریم ورک react.js…

توضیحات کلی مجموعه: فصل اول : آشنایی با مباحث مقدماتی فریم ورک react.js نصب و راه اندازی node.js  و کلیه پیش نیازهای لازم نصب فریم ورک react روی لوکال و انجام تست های لازم آغاز آشنایی …

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

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

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

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