Laravel 5.4.36 - 发布路由问题

时间:2018-04-21 08:52:20

标签: php laravel laravel-routing

我正在使用Xampp和Laravel,而我的应用程序在尝试制作帖子时会抛出以下错误:

错误

  

App \ Http \ Controllers \ HandleClient :: validate()声明应该与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'
]);

1 个答案:

答案 0 :(得分:1)

默认情况下,基本Controller类使用ValidatesRequests,它为Controller类提供验证功能。命名函数validate会覆盖此函数。

将您的功能从validate重命名为其他内容并更新您的路线,然后您就不应再发生冲突了。