Artigos Artigo

Como Validar Formulários no Laravel da Maneira Certa: Guia Completo de Request

07/11/2025
Imagem do artigo Como Validar Formulários no Laravel da Maneira Certa: Guia Completo de Request

🚀 Como Validar Formulários no Laravel da Maneira Certa: Guia Completo de Request e Boas Práticas


Quando se trata de lidar com formulários no Laravel, uma das partes mais importantes é garantir que os dados recebidos sejam válidos e seguros.

Muitos iniciantes colocam validações direto dentro dos controladores — e até funciona, mas o Laravel oferece uma forma muito mais limpa e organizada de fazer isso: o uso do Request e das Form Requests.

Neste guia, você vai aprender passo a passo como usar o Request do Laravel para capturar e validar dados de forma profissional.


🧩 O que é o Request no Laravel?

Toda vez que uma requisição HTTP chega à sua aplicação (por exemplo, o envio de um formulário), o Laravel converte automaticamente essa requisição em um objeto da classe Illuminate\Http\Request.

Com ele, você pode acessar dados como:

$request->input('nome');
$request->email;
$request->all();
$request->only(['nome', 'email']);


✍️ Criando um Formulário Simples

Vamos supor que você tenha um formulário de cadastro de usuário:

<form action="{{ route('usuarios.store') }}" method="POST">
@csrf
<input type="text" name="nome" placeholder="Seu nome">
<input type="email" name="email" placeholder="Seu e-mail">
<input type="password" name="senha" placeholder="Sua senha">
<button type="submit">Cadastrar</button>
</form>


🧠 Capturando e Validando Dados Diretamente no Controller

O jeito mais simples de validar dados é usando o método validate() dentro do controller:

use Illuminate\Http\Request;

public function store(Request $request)
{
$dadosValidados = $request->validate([
'nome' => 'required|min:3',
'email' => 'required|email|unique:users,email',
'senha' => 'required|min:6',
]);

// Cria o usuário
User::create($dadosValidados);

return redirect()->back()->with('sucesso', 'Usuário cadastrado com sucesso!');
}

Dica:

O método validate() já retorna automaticamente erros para a view, sem precisar de código extra.


💬 Exibindo Mensagens de Erro na View

No Blade, você pode mostrar os erros de validação assim:

@if ($errors->any())
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $erro)
<li>{{ $erro }}</li>
@endforeach
</ul>
</div>
@endif


🧱 Usando Form Requests (a melhor prática)

Para manter os controladores limpos e o código mais organizado, o Laravel recomenda criar Form Requests personalizados.

Crie um com o comando:

php artisan make:request StoreUsuarioRequest

Isso vai gerar um arquivo em app/Http/Requests/StoreUsuarioRequest.php.


⚙️ Configurando o Form Request

Edite o arquivo gerado:

namespace App\Http\Requests;

use Illuminate\Foundation\Http\FormRequest;

class StoreUsuarioRequest extends FormRequest
{
public function authorize(): bool
{
return true; // permite o uso da validação
}

public function rules(): array
{
return [
'nome' => 'required|min:3',
'email' => 'required|email|unique:users,email',
'senha' => 'required|min:6',
];
}

public function messages(): array
{
return [
'nome.required' => 'O campo nome é obrigatório.',
'email.email' => 'Informe um e-mail válido.',
'senha.min' => 'A senha deve ter pelo menos 6 caracteres.',
];
}
}


🧩 Usando o Form Request no Controller

Agora, basta injetar o novo Form Request no método do controller:

use App\Http\Requests\StoreUsuarioRequest;

public function store(StoreUsuarioRequest $request)
{
User::create($request->validated());

return redirect()->back()->with('sucesso', 'Usuário cadastrado com sucesso!');
}

✅ Aqui o Laravel valida automaticamente os dados antes mesmo de o método store() rodar.


🧰 Outras Dicas Úteis com o Request

1. Verificando se o campo existe

if ($request->has('telefone')) {
// faz algo
}


2. Pegando apenas alguns campos

$dados = $request->only(['nome', 'email']);


3. Excluindo campos

$dados = $request->except(['_token']);


4. Validando condicionalmente

$request->validate([
'cpf' => ['required_if:tipo,pessoa_fisica'],
]);


💡 Conclusão

Usar o Request do Laravel de forma correta é o primeiro passo para um código mais limpo, seguro e profissional.

A abordagem com Form Requests é a melhor prática recomendada pela própria documentação, e torna o seu código mais testável e organizado.

Se você quer construir aplicações Laravel robustas e escaláveis, comece dominando o poder do Request e da validação elegante que o framework oferece. 🚀

🔍 Palavras-chave SEO sugeridas

  1. validação de formulários no laravel
  2. request laravel exemplo
  3. form request laravel tutorial
  4. validação no controller laravel
  5. boas práticas laravel request