首页 > 解决方案 > Laravel 8 验证不起作用,它会将我重定向到“419|page expired”

问题描述

我只是 laravel 的新手,我不明白为什么验证错误消息不会显示,而是重定向到 "419|page expired" ,即使在遵循视频教程和 laravel 文档之后也是如此。

*这是html代码

<form action="{{ route('registerPost') }}" method="post">
        <!-- full name div -->
        <div class="flex mt-2 gap-2">
            <div class="w-1/2">
                <label for="">First Name</label><br>
                <input id="firstName" class="w-full px-2 py-1 border border-gray-300 rounded-md focus:outline-none focus:border-green-500" type="text" name="firstName" value="">
            </div>
            @error('firstName')
            <div class="text-sm text-red">{{ $message }}</div>
            @enderror
            <div class="w-1/2">
                <label for="">Last Name</label><br>
                <input class="w-full px-2 py-1 border border-gray-300 rounded-md focus:outline-none focus:border-green-500" type="text" name="lastName" value="">
            </div>
        </div>

*路线

<?php

use Illuminate\Support\Facades\Route;
use App\Http\Controllers\createController;


Route::get('/', function () {
 return view('logIn'); 
});

Route::get('/register', [createController::class, 'index'])->name('register');
Route::post('/register', [createController::class, 'store'])->name('registerPost');


*控制器

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class createController extends Controller
{
    public function index(){
        return view('register');
    }

    public function store(Request $request)
    {
        
        $validated = $request->validate([
            'firstName' => 'required|max:30',
            'lastName' => 'required|max:30',
            'email' => 'required|max:30',
            'username' => 'required|max:30',
            'password' => 'required|max:30'
        ]);

    }
}


标签: laravelvalidation

解决方案


尝试添加 .

{{ csrf_field() }}

推荐阅读