Laravel 5.4.36 - 发布路由问题

Posted

技术标签:

【中文标题】Laravel 5.4.36 - 发布路由问题【英文标题】:Laravel 5.4.36 - post routing issues 【发布时间】:2018-10-01 21:37:29 【问题描述】:

我正在使用 Xampp 和 Laravel,而我的应用在尝试创建发布路线时抛出以下错误:

错误

声明 App\Http\Controllers\HandleClient::validate() 应该兼容 App\Http\Controllers\Controller::validate(Illuminate\Http\Request $request, array $rules, array $messages = Array,数组 $customAttributes = 数组)

表格

<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】:

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

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

【讨论】:

这已经有帮助了,但是在这个解决方案之后我得到了这个错误 Undefined property: Illuminate\View\Factory::$startSection 您能否向我们展示您的视图中名为“finish”的刀片文件?

以上是关于Laravel 5.4.36 - 发布路由问题的主要内容,如果未能解决你的问题,请参考以下文章

php中laravel框架的控制器如何获取路由传过来的可选参数?

text 接下来和前la laravel

Laravel 为外部用户登录成功设置会话或令牌 - 无用户仅数据库 Api 用户

php Usar la clase Db en Laravel para hacer consultas a la base de datos

markdown Para definir布局de la forma tradicional con Blade en Laravel usamos la directiva @yield de es

Laravel 5:无法发布路由资源