Não seria mais interessante utilizar um DTO que representasse a validação dos dados? Para separar as regras de negócio.
Receberiamos a instância desse objeto no próprio construtor, e dentro do DTO haveriam as validações.
Controller
public function store(Request $request, CreateSeriseDTO $teste)
{
$serie = Serie::create($request->all());
return to_route('series.index')->with('mensagem.sucesso', "Série '{$serie->nome}' adicionada com sucesso");
}
DTO
namespace App\Models\DTO\Series;
use Illuminate\Http\Request;
class CreateSeriseDTO
{
private string $nome;
public function __construct(Request $request) {
// realizar validação
$this->nome = $request->nome;
}
public function getNome()
{
return $this->nome;
}
}