首页 > 解决方案 > 无法在 Laravel 中打开使用表单请求验证的表单

问题描述

我无法打开由同一表单请求类验证的 2 个表单(创建、编辑)。

当我单击创建或编辑按钮时,我只是重定向到同一页面,并在开发工具中显示 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'
    ];
}
}

开发工具图片:

在此处输入图像描述

标签: laravellaravel-validation

解决方案


您以错误的方法使用表单请求

编辑和创建用于显示表单视图

验证应该去存储或更新

public function store(AreaRequest $request)
{

}

public function update(AreaRequest $request, Area $area)
{

}

推荐阅读