繁体   English   中英

Laravel 7“未找到‘表格’类”

[英]Laravel 7 "Class 'Form' not found"

我去上班了 Laravel! 当我输入我的代码时

{{ Form::token()   }}

我收到消息“找不到‘表格’类”! 我去谷歌调查这个错误,但结果都是针对版本 4、5、6 的 laravel 版本 7 无处可去 这让我有点困惑,我无法定位自己! 请帮我!

创建.blade.php


@section ('content')
    <form action="{{ URL::route('account-create-post') }}" method="post">
            <input type="submit" value="Create Account">
            {{ Form::token() }}
    </form>
@stop 

网页.php

Route::group(array('brefore' => 'guest'), function() {

    Route::group(array('brefore' => 'csrf'), function(){

        Route::post('/account/create',array(
            'as' => 'account-create-post',
            'uses' => 'AccountController@postcreate'
        ));

    });
}

您可能会收到错误 Class 'Form' not found 的原因之一是您尚未在 config/app.php 上注册该表单。 如果你还没有注册,你应该注册它。 这是一个例子:

'aliases' => [
...
// others
  'Form' => Collective\Html\FormFacade::class,
  'Html' => Collective\Html\HtmlFacade::class,
],

如果您还没有安装,请安装并注册。 如果需要,您可以使用其他方法添加 csrf 令牌。 你可以像这样使用刀片

 <form action="{{ URL::route('account-create-post') }}" method="post">
            <input type="submit" value="Create Account">
            @csrf
    </form>

如果你只需要令牌,你可以像这样使用 csrf_token() 获得它:

<input type="hidden" name="_token" value="{{csrf_token()}}">

我收到消息“找不到‘表格’类”! 我去谷歌调查这个错误,但结果都是针对版本 4、5、6 的 laravel 版本 7 无处可去 这让我有点困惑,我无法定位自己!

不可以。您只能使用最大 Laravel 版本 4 的Form类。

从 Laravel 5 开始不推荐使用FormHTML助手 但是,也有社区驱动的替代品,例如Laravel Collective维护的替代品

任何时候在应用程序中定义 HTML 表单时,都应该在表单中包含一个隐藏的 CSRF 令牌字段,以便 CSRF 保护中间件可以验证请求。 您可以使用@csrf Blade 指令生成令牌字段:

<form action="{{ route('account-create-post') }}" method="POST">
    @csrf

    ...
</form>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM