無涯教程: Laravel 8 - 表格驗證介紹

本文詳細介紹了Laravel 8表格驗證教程。我們將查看Laravel 8表單驗證的示例和錯誤消息。

您還可以在laravel 8表單驗證中定義自定義錯誤消息。我們將在每個字段中顯示錯誤消息。我們將使用has()來檢查laravel 8中的錯誤消息。

在這裏,我將向您展示表單驗證的非常簡單的示例,您可以簡單地在您的Laravel 8項目中使用。

 

 

創建路由

在這裏,我們正在學習Laravel 8中的簡單且簡單的驗證示例,只需在web.php文件中的路由中添加。

routes/web.php

<?php
  
use Illuminate\Support\Facades\Route;
  
use App\Http\Controllers\HomeController;
  
Route::get('user/create', [ HomeController::class, 'create' ]);
Route::post('user/create', [ HomeController::class, 'store' ]);

創建控制器

現在我們將添加兩個控制器方法,一個只會顯示帶有get請求的blade視圖文件,另一個用於發佈請求。

app/Http/Controller/HomeController.php

<?php
  
namespace App\Http\Controllers;
  
use Illuminate\Http\Request;
use App\Models\User;
  
class HomeController extends Controller
{
    /**
     * Show the application dashboard.
     *
     * @return \Illuminate\Http\Response
     */
    public function create()
    {
        return view('createUser');
    }
    
    /**
     * Show the application dashboard.
     *
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {
        $validatedData = $request->validate([
                'name' => 'required',
                'password' => 'required|min:5',
                'email' => 'required|email|unique:users'
            ], [
                'name.required' => 'Name is required',
                'password.required' => 'Password is required'
            ]);
  
        $validatedData['password'] = bcrypt($validatedData['password']);
        $user = User::create($validatedData);
      
        return back()->with('success', 'User created successfully.');
    }
}

創建視圖文件

現在我們將創建createUser.blade.php文件,在這裏,我們將創建具有錯誤驗證消息的引導簡單表單。所以,讓我們創建以下文件:

resources/views/createUser.blade.php

<!DOCTYPE html>
<html>
<head>
    <title>Laravel 8 form validation example - 無涯教程</title>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link href="//netdna.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
    <div class="container">
  
        <h1>Laravel 8 Form Validation Example - 無涯教程</h1>
   
        @if(Session::has('success'))
        <div class="alert alert-success">
            {{ Session::get('success') }}
            @php
                Session::forget('success');
            @endphp
        </div>
        @endif
   
        <form method="POST" action="{{ url('user/create') }}">
  
            {{ csrf_field() }}
  
            <div class="form-group">
                <label>Name:</label>
                <input type="text" name="name" class="form-control" placeholder="Name">
                @if ($errors->has('name'))
                    <span class="text-danger">{{ $errors->first('name') }}</span>
                @endif
            </div>
   
            <div class="form-group">
                <label>Password:</label>
                <input type="password" name="password" class="form-control" placeholder="Password">
                @if ($errors->has('password'))
                    <span class="text-danger">{{ $errors->first('password') }}</span>
                @endif
            </div>
    
            <div class="form-group">
                <strong>Email:</strong>
                <input type="text" name="email" class="form-control" placeholder="Email">
                @if ($errors->has('email'))
                    <span class="text-danger">{{ $errors->first('email') }}</span>
                @endif
            </div>
   
            <div class="form-group">
                <button class="btn btn-success btn-submit">Submit</button>
            </div>
        </form>
    </div>
</body>
</html>

來源:https://www.learnfk.com/article-laravel-8-form-validation-exampleexample

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章