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

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

07/11/2025

🚀 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

Ver todos os posts