我是 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/