Validate Request 一直重定向问题
既然要优雅那么我就要做到能分离就分离
今日研究Validate Request
时遇到了一个问题,在网络上也没有找到相应的问题(出现的太奇怪了):
话不多说直接上代码
RegisterController@register
private $client;
public function __construct(Guzzle $http)
{
$this->client = $http;
}
public function register(RegisterUserRequest $request)
{
$result = User::create([
'name' => trim($request->name),
'password' => bcrypt($request->password),
'email' => $request->email,
'mobile' => $request->mobile,
]);
此处使用了 php artisan make:request RegisterUserRequest
的 artisan
命名 ,创建了RegisterUserRequest
:
public function rules()
{
return [
'name' => 'required|min:3|max:20|unique:users',
'email' => 'required|min:3|email|unique:users',
'password' => 'required|min:3|max:20',
'mobile' => 'required|min:11|max:12',
];
}
public function messages()
{
return [
'name.required' => '请填写用户名',
'name.min' => '用户名小于3位',
'name.max' => '用户名最多位20位',
'name.unique' => '此用户名已存在',
'email.email' => '请输入正确的邮箱格式',
'email.required' => '请填写邮箱地址',
'email.min' => '邮箱最少3位',
'email.unique' => '该邮箱已存在',
'password.required' => '请填写密码',
'password.min' => '密码不得小于3位',
'password.max' => '密码最多20位',
'mobile.required' => '请输入手机号码',
'mobile.min' => '手机号码最少为11位',
'mobile.max' => '手机号码最多为12位'
];
}
原本的写法为:Validate::
或者直接使用$request->validated()
去验证前段传递的数据,但是分离开来代码确实很好看。
然后我就出现了一个令我百思不得其解的状况:无脑重定向到首页
以下是我Postman请求的参数:
现请求各路大神前来探讨一下,为何会出现重定向的问题!
鄙人尝试过在RegisterUserRequest
进行__construct
然后dd(111)
有效。
将RegisterController
中的 RegisterUserRequest
的依赖注入改为 Illuminate\Http\Request
则也不会发生问题。所以现在断定问题出在RegisterUserRequest.php
这个文件中。
在 Header 里加上
Accept: application/json