× Giới thiệu Lịch khai giảng Tin tức Sản phẩm học viên

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 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

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 -

Trình điều khiển xác thực

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