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!