Php 拉威尔没有';在单个控制器中不支持多个表单请求?
我有一个控制器,在这里我使用不同的请求来验证每个方法上的数据。我尝试使用带有完整名称空间的请求,也尝试了导入请求,但在这两种情况下都不起作用 例如Php 拉威尔没有';在单个控制器中不支持多个表单请求?,php,laravel,laravel-6,laravel-6.2,Php,Laravel,Laravel 6,Laravel 6.2,我有一个控制器,在这里我使用不同的请求来验证每个方法上的数据。我尝试使用带有完整名称空间的请求,也尝试了导入请求,但在这两种情况下都不起作用 例如 <?php namespace App\Http\Controllers; use App\User; use Illuminate\Http\Request; use App\Http\Requests\UserRequest; use App\Http\Requests\RegisterRequest; use App\Http\Req
<?php
namespace App\Http\Controllers;
use App\User;
use Illuminate\Http\Request;
use App\Http\Requests\UserRequest;
use App\Http\Requests\RegisterRequest;
use App\Http\Requests\PositionRequest;
use App\Http\Requests\UserOrderRequest;
class UserController extends Controller
{
public function register(\App\Http\Requests\RegisterRequest $request)
{
// do something
}
public function positions(\App\Http\Requests\PositionRequest $request)
{
// do something
}
public function user(\App\Http\Requests\UserRequest $request)
{
// do something
}
public function orders(\App\Http\Requests\UserOrderRequest $request)
{
// do something
}
}
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class RegisterRequest extends FormRequest
{
public function authorize()
{
return true;
}
public function rules()
{
return [
"name" => "required|min:3|max:100",
"email" => "required|email|unique:users",
"phone" => "required|numeric|unique:users",
"positions" => "required|array|min:1|max:10",
"positions.*.name" => "required|string|min:2|max:50|distinct",
"password" => "required|min:8|string|max:255"
];
}
}
Laravel框架:6.17.0
PHP:7.4未测试,但请尝试
public function register(RegisterRequest $request)
{
//
}
您不应该需要完整的名称空间,因为您已经在顶部导入了它们
还要确保文件夹App\Http\Requests中有文件UserRequest.php,并且它的名称空间匹配请求类看起来像什么?文件中包含的内容:
App\Http\Requests\UserRequest
App\Http\Requests\RegisterRequest
App\Http\Requests\PositionRequest
App\Http\Requests\UserOrderRequest
确保这些文件的路径和名称、文件中的名称空间以及在此文件中使用的use语句完全匹配。大小写可能取决于您的服务器设置,因此请确保大小写匹配
因为您有用于它们的use语句,所以在注入它们时不需要使用完整的名称空间
public function orders(UserOrderRequest $request)
{
// do something
}
public function orders(UserOrderRequest $request)
{
// do something
}