Como criar formulario cadastrar com Laravel 10
Neste tutorial, será apresentado como criar um formulário de cadastro com o Laravel 10.
Primeiramente, será mostrado como usar o Laravel para criar o formulário.
Em seguida, será apresentado como receber os dados do formulário.
Por fim, será mostrado como realizar o cadastro no banco de dados com o Laravel.
Download do código fonte desenvolvido na aula: Download
Curso de Laravel: Mais Detalhes do Curso
Playlist completa sobre Laravel: Acessar
Receber as aulas gratuitas do curso de Laravel: Acessar
Para começar, é utilizado como base o projeto da aula "Como criar banco de dados e tabelas com migration no Laravel 10".
Em seguida, no arquivo "routes/web.php", é criada a rota para carregar o formulário. Na mesma, é indicado o nome da Controller "ContaController" e o nome do método "create" que deve ser chamado.
Route::get('/create-conta', [ContaController::class, 'create'])->name('conta.create');
Na classe "ContaController", é criado o método "create" para carregar a view.
public function create()
{
// Carregar a VIEW
return view('contas.create');
}
A view indicada para o método "create" carregar deve ser criada em "resources/views/contas/create.blade.php", na qual é implementado o formulário.
<form action="{{ route('conta.store')}}" method="POST">
@csrf
<label>Nome: </label>
<input type="text" name="nome" id="nome" placeholder="Nome da conta" required><br><br>
<label>Valor: </label>
<input type="text" name="valor" id="valor" placeholder="Usar '.' separar real do centavo" required><br><br>
<label>Vencimento: </label>
<input type="date" name="vencimento" id="vencimento" required><br><br>
<button type="submit">Cadastrar</button>
</form>
Na TAG <form>, é indicado que os dados do formulário devem ser enviados para a rota "conta.store".
Necessário criar a rota no arquivo "routes/web.php".
Route::post('/store-conta', [ContaController::class, 'store'])->name('conta.store');
Na rota, é indicado o nome da Controller "ContaController" e o nome do método "store" que deve receber os dados.
É criado o método "store", responsável por cadastrar no banco de dados, redirecionar o usuário para a página de visualização e enviar a mensagem de sucesso.
public function store(Request $request)
{
// Cadastrar no banco de dados na tabela contas os valores de todos os campos
Conta::create($request->all());
// Redirecionar o usuário, enviar a mensagem de sucesso
return redirect()->route('conta.show')->with('success', 'Conta cadastrada com sucesso');
}
Na view de visualizar, "resources/views/contas/show.blade.php", é implementada a funcionalidade para apresentar a mensagem de sucesso enviada pela controller ao cadastrar no banco de dados.
{{-- Verificar se existe a sessão success e imprimir o valor --}}
@if (session('success'))
<span style="color: #082;">
{{ session('success') }}
</span>
@endif
Baixar o código-fonte completo do projeto.
Bom, era isso. Espero que o tutorial tenha sido útil!