首页 > 解决方案 > Laravel - 请求安全方法不存在

问题描述

我使用 artisan make 命令生成了我的 StorePostRequest。
我在规则方法上定义了规则:

public function rules()
{
    return [
        'title' => 'required|min:3|max:255',
        'slug' => ['required', Rule::unique('posts', 'slug')],
        'thumbnail' =>'required|image',
        'excerpt' => 'required|min:3',
        'body' => 'required|min:3',
        'category_id' => 'required|exists:categories,id'
    ];
}

thumbnail但是,在我的 PostController 中,除了使用此处safe()->except('thumbnail')解释的类似内容外,我无法获得经过验证的输入

我收到错误

BadMethodCallException
Method App\Http\Requests\StorePostRequest::safe does not exist.

标签: laravellaravel-8laravel-request

解决方案


通过运行检查您的 laravel/framework 版本

php artisan --version

在 FormRequest 类中找到的安全方法仅在 version 中添加 8.55.0

请记住,仅仅因为您使用的是 laravel 框架版本 8,这并不意味着您将拥有 laravel 8.x 文档中的所有方法和属性。当然,除非您使用的是当前最新版本 8。


推荐阅读