Use Request class for validations
Move validation from controllers to Request classes.
Bad:
php
public function store(Request $request): Redirect
{
$request->validate([
'title' => 'required|unique:posts|max:255',
'body' => 'required',
'publish_at' => 'nullable|date',
]);
...
}
Good:
php
public function store(PostRequest $request): Redirect
{
...
}
class PostRequest extends Request
{
public function rules(): array
{
return [
'title' => 'required|unique:posts|max:255',
'body' => 'required',
'publish_at' => 'nullable|date',
];
}
}