Laravel 5.4.36 - post 路由问题

Laravel 5.4.36 - post routing issues

我正在使用 Xampp 和 Laravel,我的应用程序在尝试创建 post 路由时抛出以下错误:

错误

Declaration of App\Http\Controllers\HandleClient::validate() should be compatible with App\Http\Controllers\Controller::validate(Illuminate\Http\Request $request, array $rules, array $messages = Array, array $customAttributes = Array)

表格

<form action="{{route('handle')}}" method="POST">
    <label for="cn">Customer Name</label>
    <input type="text" name="cn" placeholder="Customer Name" />
    <input type="submit" value="Add Request"/>
    <input type="hidden" value="{{Session::token()}}" name="_token" />
</form>

控制器HandleClient.php:

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;

class HandleClient extends Controller
{       
    public function validate(Request $request){
        return view('finish',$request);
    }   
}

web.php 路由文件:

<?php
Route::get('/', function () {
    return view('welcome');
})->name('home');
Route::post('/Request_handled',[
    'uses'  => 'HandleClient@validate',
    'as'    => 'handle'
]);

默认情况下,基本控制器 class 使用 ValidatesRequests 为控制器 class 提供验证功能。命名您的函数 validate 会覆盖此函数。

将您的函数从 validate 重命名为其他名称并更新您的路线,这样您就不会再有冲突了。