当验证失败时,我对$errors变量一无所知,它曾经可以工作,但现在它停止了,我不知道为什么。
我已经尝试了几件事,更改了失败的字段,在请求的不同方法中添加了请求,我在请求中评论了不同的方法,但什么也没有。我已经从我正在使用的中间件(查看作曲家中间件)中排除了该方法,什么也没有。知道发生了什么吗?
一个重要的注意事项是创建视图与版本相同。当它“创建”一个帖子时,点击使用父请求 PostRequest 的 store 方法,并且一切正常,$errors 变量被填充。
一些代码。
我的帖子路由文件:
Route::resource('posts', 'PostController');
RouteServiceProvider我清楚地包含web中间件的方法:
protected function mapPostsRoutes()
{
Route::middleware('web')
->namespace($this->namespace)
->group(base_path('routes/posts.php'));
}
我在更新方法中使用自定义表单请求的地方,PostController:
/**
* @param PostUpdateRequest $request
* @param Post $post
* @return Factory|RedirectResponse|View
*/
public function update(PostUpdateRequest $request, Post $post)
{
// and so on
我的孩子PostUpdateRequest表格请求更新目的:
<?php
namespace App\Http\Requests;
use Illuminate\Validation\Rule;
class PostUpdateRequest extends PostRequest
{
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return array_merge(
parent::rules(), [
'slug' => [
'required', 'string',
Rule::unique('posts', 'slug')->ignore($this->slug, 'slug')
],
]);
}
}
炎炎设计