اعتبارسنجی یا Validation یکی از جنبه های اصلی توسعه ی اپلیکیشن ها با لاراول است. این سیستم داده های دریافت شده توسط اپلیکیشن ساخته شده توسط شما را ارزیابی میکند.
بصورت پیشفرض ، کنترلرهای فریمورک لاراول از خواص و ویژگی های ValidatesRequests استفاده میکند که بصورت پیشفرض تمامی داده های HTTP رسیده را توسط یک سیستم اعتبار سنجی قوی ، ارزیابی میکند.
فریمورک لاراول همیشه سعی میکند پیام خطاهای ذخیره شده در سشن را بازیابی کند و آنها را view پردازش کند.
بنابراین در هر درخواستی در نظر داشته باشید لاراول برای شما متغیری به نام $errors میسازد و در view شما قابل نمایش است که شامل تمام خطاهای موجود است.
در تصویر زیر جدولی را مشاهده میکنید قوانین validation موجود در فریمورک لاراول را به شما نمایش میدهد.

متغیر $errors یک instance از Illuminate\Support\MessageBag خواهد بود.
کد زیر نمونه ای از نمایش خطاها در فایل view است و توجه کنید که از کدهای blade فریمورک لاراول استفاده شده است.
@if (count($errors) > 0)
<div class = "alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
برای درک مسئله ی اعتبار سنجی در فریمورک لاراول مثال زیر را در نظر داشته باشید.
قدم 1 - یک کنترلر جدید به نام ValidationController توسط دستور زیر در ترمینال یا کامند پرومپ بسازید.
php artisan make:controller ValidationController --plain
قدم 2 - بعد از اجرای کد بالا نتیجه باید مشابه تصویر زیر باشد و پیام ساخته شده موفقیت آمیز کنترلر برای شما نمایش داده شود.
.png)
قدم 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 فریمورک لاراول خود را باز کنید و کدهای زیر را درون آن بنویسید.
Route::get('/validation','ValidationController@showform');
Route::post('/validation','ValidationController@validateform');
قدم 6 - بعد از اجرا کردن دستور serve به آدرس url زیر در مرورگر مراجعه کنید.
http://localhost:8000/validation
قدم 7 - در مرورگر نتیجه ی زیر را مشاهده میکنید بدون پر کردن فیلدها روی دکمه ی login کلیک کنید تا ببینید که بالای فرم خطا ها نمایش داده میشود.

اتمام درس .
محصولات برگزیده مناسب شما
دوره ی آموزش کامل فریمورک لاراول Laravel دوره پروژه محور ساخت فروشگاه بامیلو با لاراول کارگاه آموزشی نحوه ی آپدیت ورژن فریمورک laravel دوره ی آموزش ویوجی اس ( Vuejs 3) پروژه محور به همراه Nuxt jsآواسام دارای نماد اعتماد الکترونیکی و مجوزهای لازم می باشد برای ارتباط با آواسام میتوانید از طریق لینک ارتباط با ما در فوتر سایت با ما ارتباط برقرار کنید