我使用的是Laravel 5.3。我在尝试提交表单时收到此错误。我用过laravelcollective / html。这是我的代码:
路由/ web.php
Route::resource('add-new-tenant', 'SuperAdmin\TenantController');
Route::resource('new-tenant', 'SuperAdmin\TenantController@store');
控制器:
<?php
namespace App\Http\Controllers\SuperAdmin;
use App\Tenant;
use App\Http\Requests;
use App\Http\Requests\CreateTenantRequest;
use App\Http\Controllers\Controller;
class TenantController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
return view('pages.superadmin.add-new-tenant');
}
/**
* Store a newly created resource in storage.
*
* @param \App\Http\Requests\CreateTenantRequest $request
* @return \Illuminate\Http\Response
*/
public function store(CreateTenantRequest $request)
{
Tenant::create($request->all());
return redirect('add-new-tenant');
}
}
我已经创建了验证表单的请求。代码如下:
应用程序/ HTTP /请求/ CreateTenantRequest.php
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class CreateTenantRequest 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 [
'tenant_company_name' => 'required',
'tenant_name' => 'required',
'tenant_email' => 'required|email'
'tenant_domain' => 'required',
'tenant_database' => 'required'
];
}
}
我在提交表单时遇到此错误。
ReflectionException in Route.php line 339:
Class App\Http\Requests\CreateTenantRequest does not exist
我知道在声明 CreateTenantRequest 时存在一些问题,但请帮助我解决的问题。
谢谢。
答案 0 :(得分:4)
这只是我的错,当我看到这个时,我把头撞在墙上,我浪费了4个小时,并没有注意到这一点。唯一的错误是
之后缺少逗号(,) 'tenant_email' => 'required|email',
在CreateTenantRequest.php中。这是:
public function rules()
{
return [
'tenant_company_name' => 'required',
'tenant_name' => 'required',
'tenant_email' => 'required|email',
'tenant_domain' => 'required',
'tenant_database' => 'required'
];
}
感谢您的帮助,抱歉这是我的错。
答案 1 :(得分:1)
这对我来说都很好看。我的猜测是Requests
尚未添加到您的自动加载器中。当你收到一条消息说laravel
无法找到你知道的东西时,你要做的第一件事就是抛弃自动加载器:
composer dump-autoload
答案 2 :(得分:0)
我同意@Aisha Kamran的回答。当您的自定义表单请求出现语法错误时,会出现此错误消息。这不是一个有用的错误消息。