Есть метод store контроллера PostController:
PostController.php
public function store(StorePostRequest $request)
{
try {
$validator = $request->validated();
if ($validator->fails()) {
return redirect()->route('dashboard.posts.create')
->withErrors($validator)
->withInput();
}
dd($validator);
$post = new Post;
$post->title = $validator->title;
$post->slug = $validator->slug;
$post->save();
return redirect()->route('dashboard.posts.create')->with('success', 'Пост успешно добавлен.');
} catch (\Exception $e) {
dd($e->getMessage());
}
}
Есть Request класс, в котором происходит валидация полей:
StorePostRequest.php<?php
namespace App\Http\Requests\Post;
use Illuminate\Foundation\Http\FormRequest;
use Rule;
class StorePostRequest extends FormRequest
{
public function authorize()
{
return auth()->check() && $this->user()->hasRole('admin');
}
public function rules()
{
return [
'slug' => 'required|string|unique:posts',
'title' => 'required|string|max:255'
];
}
}
Создаю запись (количество полей больше, чем должно пройти валидацию), но все время происходит редирект обратно на форму создания поста (причем даже если не указывать route()), метод
dd()
не работает, прошерстил Stackoverflow, у многих, у кого была подобная проблема, решается как правило указанием
use App\Http\Requests\Post\StorePostRequest;
в конроллере, но у меня все в этом плане нормально, уже не знаю за что зацепиться, чтобы определить, в чем может быть проблема. В чем все-таки может быть проблема?