Olá Luiz! Tudo certo?
Para criar uma rota que armazena dados de um formulário, você pode seguir os seguintes passos:
Definir a Rota: No Laravel, as rotas são definidas no arquivo routes/web.php
(ou routes/api.php
se estiver criando uma API). Você pode adicionar uma rota POST para lidar com o envio do formulário. Por exemplo:
Route::post('/formulario', [SeuController::class, 'store']);
Aqui, /formulario
é o caminho da URL que você usará para enviar os dados, e SeuController
é o controlador que irá processar esses dados.
Criar o Controlador: Se ainda não tiver um controlador, você pode criá-lo usando o Artisan, que é a interface de linha de comando do Laravel. No terminal, execute:
php artisan make:controller SeuController
Isso criará um novo controlador em app/Http/Controllers/SeuController.php
.
Implementar o Método Store: No seu controlador, você precisa criar o método store
que irá lidar com a lógica para armazenar os dados. Um exemplo básico seria:
public function store(Request $request)
{
// Valide os dados do formulário
$validatedData = $request->validate([
'campo1' => 'required|string|max:255',
'campo2' => 'required|email',
// adicione outras validações conforme necessário
]);
// Armazene os dados no banco de dados
Modelo::create($validatedData);
// Redirecione ou retorne uma resposta
return redirect()->back()->with('success', 'Dados armazenados com sucesso!');
}
Não esqueça de substituir Modelo
pelo nome do seu modelo correspondente.
Configurar o Formulário: No seu formulário HTML, certifique-se de definir o método como POST e a ação para a rota correta. Exemplo:
<form action="/formulario" method="POST">
@csrf
<!-- Campos do formulário -->
<input type="text" name="campo1" required>
<input type="email" name="campo2" required>
<button type="submit">Enviar</button>
</form>
O @csrf
é necessário para proteger seu formulário contra ataques CSRF.
Espero ter ajudado e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.