Laravel – Validation

0
5

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 bộ điều khiển cơ sở sử dụng đặc điểm ValidatesRequests cung cấp một phương pháp thuận tiện để xác thực các yêu cầu HTTP đến với nhiều quy tắc xác thực mạnh mẽ.

Available Validation Rules in Laravel

Laravel sẽ luôn kiểm tra các 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 $ error 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 thuận tiện giả định rằng biến $ error luôn được xác định và có thể được sử dụng một cách an toàn. Bảng sau đây 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
AcceptedActive URLAfter (Date)
AlphaAlpha DashAlpha Numeric
ArrayBefore (Date)Between
BooleanConfirmedDate
Date FormatDifferentDigits
Digits BetweenE-MailExists (Database)
Image (File)InInteger
IP AddressJSONMax
MIME Types(File)MinNot In
NumericRegular ExpressionRequired
Required IfRequired UnlessRequired With
Required With AllRequired WithoutRequired Without All
SameSizeString
TimezoneUnique (Database)URL

Biến $ error 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ư hình dưới đây.

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

Vi du

Bước 1 – Tạo một Controller có tên là ValidationController bằng cách thực hiện lệnh sau.

php artisan make:controller ValidationController --plain

Bước 2 – Sao chép mã sau vào tệp 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 3 – Tạo một tệp dạng xem có tên là resources / views / login.blade.php và sao chép đoạn mã sau vào tệp đó.

<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 4 – Thêm các dòng sau vào app / Http / route.php.

Route::get('/validation',[ValidationController::class,'showform']);
Route::post('/validation',[ValidationController::class,'validateform']);

Bước 5 – Truy cập URL sau để kiểm tra xác thực.

http://localhost:8000/validation

BÌNH LUẬN

Vui lòng nhập bình luận của bạn
Vui lòng nhập tên của bạn ở đây