无法在 Laravel 中打开使用表单请求验证的表单
Can't open form that uses form request validation in Laravel
我无法打开由同一个表单请求验证的 2 个表单(创建、编辑)class。
当我单击创建或编辑按钮时,我只是重定向到同一页面,在 Dev Tools 中显示 302 Found 状态代码,但没有打开表单。
当我从控制器中的方法中删除表单请求验证时,我可以正常打开表单。
控制器:
...
use App\Http\Requests\AreaRequest;
...
public function edit(Area $area,AreaRequest $request) //it works if I remove AreaRequest $request
{
return view('backend.areas.edit', compact('area'));
}
public function create(AreaRequest $request)
{
return view('backend.areas.create');
}
要求:
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class AreaRequest 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 [
'name' => 'required|string'
];
}
}
开发工具图片:
您正在以错误的方式使用表单请求
编辑和创建是为了显示表单视图
验证应该去存储或更新
public function store(AreaRequest $request)
{
}
public function update(AreaRequest $request, Area $area)
{
}
我无法打开由同一个表单请求验证的 2 个表单(创建、编辑)class。
当我单击创建或编辑按钮时,我只是重定向到同一页面,在 Dev Tools 中显示 302 Found 状态代码,但没有打开表单。
当我从控制器中的方法中删除表单请求验证时,我可以正常打开表单。
控制器:
...
use App\Http\Requests\AreaRequest;
...
public function edit(Area $area,AreaRequest $request) //it works if I remove AreaRequest $request
{
return view('backend.areas.edit', compact('area'));
}
public function create(AreaRequest $request)
{
return view('backend.areas.create');
}
要求:
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class AreaRequest 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 [
'name' => 'required|string'
];
}
}
开发工具图片:
您正在以错误的方式使用表单请求
编辑和创建是为了显示表单视图
验证应该去存储或更新
public function store(AreaRequest $request)
{
}
public function update(AreaRequest $request, Area $area)
{
}