Laravel - Validation tìm hiểu về Laravel Validation
02/02/2024 01:23
Validation là khía cạnh quan trọng nhất trong khi thiết kế một ứng dụng. Nó xác nhận dữ liệu đến. Theo mặc định, lớp trình điều khiển cơ sở sử dụng đặc điểm ValidatesRequests để cung cấp một phương thức thuận tiện để xác thực các yêu cầu HTTP đến bằng nhiều quy tắc xác thực mạnh mẽ.
Xác nhận là khía cạnh quan trọng nhất trong khi thiết kế một ứng dụng. Nó xác nhận dữ liệu đến. Theo mặc định, lớp trình điều khiển cơ sở sử dụng đặc điểm ValidatesRequests để cung cấp một phương thức thuận tiện để xác thực các yêu cầu HTTP đến bằng nhiều quy tắc xác thực mạnh mẽ.
Quy tắc xác thực có sẵn trong Laravel
Laravel sẽ luôn kiểm tra lỗi trong dữ liệu phiên và tự động liên kết chúng với chế độ xem nếu chúng có sẵn. Vì vậy, điều quan trọng cần lưu ý là biến $errors sẽ luôn có sẵn trong tất cả các chế độ xem của bạn đối với mọi yêu cầu, cho phép bạn giả định một cách thuận tiện rằng biến $errors luôn được xác định và có thể được sử dụng một cách an toàn. Bảng sau hiển thị tất cả các quy tắc xác thực có sẵn trong Laravel.
Available Validation Rules in Laravel | ||
---|---|---|
Accepted | Active URL | After (Date) |
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 |
Biến $errors sẽ là một phiên bản của Illuminate\Support\MessageBag . Thông báo lỗi có thể được hiển thị trong tệp xem bằng cách thêm mã như hiển thị bên dưới.
@if (count($errors) > 0) <div class = "alert alert-danger"> <ul> @foreach ($errors->all() as $error) <li>{{ $error }}</li> @endforeach </ul> </div> @endif
Ví dụ
Bước 1 - Tạo bộ điều khiển có tên ValidationController bằng cách thực hiện lệnh sau.
php artisan make:controller ValidationController --plain
Bước 2 - Sau khi thực hiện thành công, bạn sẽ nhận được kết quả sau -
Bước 3 - Sao chép đoạn mã sau vào
Tệp app/Http/Controllers/ValidationController.php .
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' ]); } }
Bước 4 - Tạo một tệp xem có tên là Resources/views/login.blade.php và sao chép đoạn mã sau vào tệp đó.
tài nguyên/lượt xem/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>
Bước 5 - Thêm các dòng sau vào app/Http/routes.php .
app/Http/routes.php
Route::get('/validation','ValidationController@showform'); Route::post('/validation','ValidationController@validateform');
Bước 6 - Truy cập URL sau để kiểm tra xác thực.
http://localhost:8000/validation
Bước 7 - Nhấp vào nút “Đăng nhập” mà không cần nhập bất cứ điều gì vào trường văn bản. Đầu ra sẽ như thể hiện trong hình ảnh sau đây.
Source: https://www.tutorialspoint.com/laravel/laravel_validation.htm