php - Laravel 5.8自定义验证错误 'class does not exist'

标签 php laravel-5

我是 Laravel 的新手,我正在尝试让自定义验证规则在我的 Controller 上工作。 显示该类不存在。

ReflectionException thrown with message "Class App\Http\Controllers\StoreBooksRequest does not exist"

我使用 artisan 命令制作了请求文件。

lando artisan make:request StoreBooksRequest

这是我的请求文件:

namespace App\Http\Requests;

use Illuminate\Foundation\Http\FormRequest;

class StoreBooksRequest extends FormRequest
{
    /**
     * Determine if the user is authorized to make this request.
     *
     * @return bool
     */
    public function authorize()
    {
        return true;
    }

    /**
     * Get the validation rules that apply to the request.
     *
     * @return array
     */
    public function rules()
    {
        return [
            //
            'title' => 'required|unique:books|max:150',
            'description' => 'required',
            'isbn' => 'required|max:20'
        ];
    }
}

这是我试图让自定义请求规则发挥作用的 Controller :

namespace App\Http\Controllers;

use App\Book;
use Illuminate\Http\Request;

class BooksController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        //
        $books = Book::all();

        return view('books.index', compact('books'));
    }

    /**
     * Show the form for creating a new resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function create()
    {
        return view('books.create');
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(StoreBooksRequest $request)
    {
        $book = new Book();

        $book->title = $request->title;
        $book->description = $request->description;
        $book->isbn = $request->isbn;

        $book->save();
    }

我认为问题在于错误指出请求文件位于 Controllers 文件夹中,而不是位于标准 Requests 文件夹中。

最佳答案

您尚未包含自定义请求类的命名空间。在 use Illuminate\Http\Request; 之后添加 use App\Http\Requests\StoreBooksRequest;

关于php - Laravel 5.8自定义验证错误 'class does not exist',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56083695/

相关文章:

php - 带有 PHP 确认邮件的预订系统

php - 使用 MYSQL Like '"%$* %"' 创建搜索过滤器

php - Laravel Eloquent join vs with

laravel-5 - 连接被拒绝 [tcp ://127. 0.0.1:6379] 共享主机上的 redis

laravel-5 - Laravel Redis php_network_getaddresses : getaddrinfo failed: Name or service not known [tcp://redis:6379]

mysql - 获取MySQL中最近的值

php - 转换带重音符号的外来字符

php - 我的 ip 在存储到 mysql 时被转换

php - 如何检查是否启用了 PHP mail()?

laravel-5 - 拉拉维尔 : On Login: getAuthIdentifierName()