با عرض سلام خدمت کاربران عزیز سایت پی وی لرن و کاربرانی که دوره کامل آموزش لاراول را دنبال می کنند، در این پست آموزشی به آموزش اعتبار سنجی در لاراول می پردازیم. از این رو به بررسی کلی قوانین اعتبار سنجی در لاراول خواهیم پرداخت. اعتبار سنجی مهم ترین جنبه در هنگام طراحی یک برنامه است. که داده های ورودی را تایید می کند. به طور پیش فرض کلاس کنترل پایه از یک ویژگی ValidatesRequests استفاده می کند. که یک روش مناسب برای اعتبار درخواست های ورودی HTTP با انواع قواعد اعتبار سنجی قدرتمند را فراهم می کند، در این جلسه نحوه استفاده از قوانین اعتبار سنجی در لاراول را بررسی کرده ایم.
در ادامه مباحث جهت درک بهتر مطالب توضیحات قوانین اعتبار سنجی در لاراول به همراه مثال هایی ارائه شده است.
لاروال همیشه اشتباهات در داده های جلسه را بررسی می کند و اگر آنها در دسترس باشند، به صورت خودکار آنها را در نظر می گیرند.
بنابراین مهم است که یک متغیر $errors همیشه در همه نظرات شما در هر درخواست در دسترس باشد.
به شما اجازه می دهد به راحتی فرض کنید متغیر $errors همیشه تعریف شده است و می تواند با خیال راحت مورد استفاده قرار گیرد.
جدول زیر تمام قوانین اعتبار در دسترس Laravel را نشان می دهد.
قوانین اعتبار موجود در Laravel | ||
---|---|---|
پذیرفته شده | نشانی اینترنتی فعال | بعد از (تاریخ) |
Alpha | Alpha Dash | Alpha Numeric |
Array | Before (Date) | Between |
Boolean | Confirmed | Date |
Date Format | Different | Digits |
Digits Between | 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 |
متغیر $errors یک نمونه از Illuminate\Support\MessageBag خواهد بود.
پیام خطا را می توان در فایل مشاهده و با نمایش کد به صورت زیر نشان داد.
1 2 3 4 5 6 7 8 9 | @if (count($errors) > 0) <div class = "alert alert-danger"> <ul> @foreach ($errors->all() as $error) <li>{{ $error }}</li> @endforeach </ul> </div> @endif |
مرحله ۱ : با اجرای دستور زیر، یک کنترلر به نام ValidationController ایجاد کنید.
1 | php artisan make:controller ValidationController --plain |
مرحله ۲ : بعد از اجرای موفق، خروجی زیر را دریافت خواهید کرد.
مرحله ۳ : کد زیر را در داخل فایل app/Http/Controllers/ValidationController.php کپی کنید.
app/Http/Controllers/ValidationController.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <?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' ]); } } |
مرحله ۴ : یک فایل نمایش به نام resources/views/login.blade.php ایجاد کنید و کد زیر را در آن فایل کپی کنید.
resources/views/login.blade.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | <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> |
مرحله ۵ : خطوط زیر را در app / Http / routes.php اضافه کنید.
app/Http/routes.php
1 2 | Route::get('/validation','ValidationController@showform'); Route::post('/validation','ValidationController@validateform'); |
مرحله ۶ : برای بررسی اعتبار، از نشانی اینترنتی زیر دیدن کنید.
1 | http://localhost:8000/validation |
مرحله ۷ : با کلیک بر روی دکمه “Login” بدون وارد کردن هر چیزی در زمینه متن.
خروجی را همان طور که در تصویر میبینید مشاهده خواهید کرد.
دادههای ورودی که از طرف کاربر به وب سایت ارسال میشوند، باید توسط برنامه به صورت خودکار اعتبارسنجی شوند تا از درست بودن دادهها اطمینان حاصل شود، امیدواریم از توضیحاتی که جهت آشنایی شما عزیران با قوانین اعتبار سنجی در لاراول ارائه گردید بخوبی بهره مند شده باشید.