This article's lesson on Laravel 9's Work with Livewire form submission idea will be covered. Information regarding submitting a livewire form in Laravel 9 is classified in this article. This idea of submitting a form will be examined from scratch.
This article will be of great assistance to you if you're looking for information on how to submit a Livewire form using Laravel 9.

We'll create a form with a few inputs, such as Name, Email, and Body, submit it, and save the form's data to the database.

Laravel Installation

To create a Laravel project, use Terminal and enter the following line.

composer create-project laravel/laravel myblog

It will build a project folder inside of your local system called "myblog."

Laravel's development server can be launched here.

php artisan serve


assuming your system already has Laravel installed.

Create Database & Connect

Either the Manual tool in PhpMyAdmin or a mysql command can be used to create a database.

CREATE DATABASE laravel_app;

Open the .env file from the application root to establish a connection with the database. Find DB_ and update your information.


Create Model & Migration

Enter project's terminal address.

Let's use a single command to construct the model and migration.

Model construction and migration

php artisan make:model Contact -m

The command above will produce two files:

  • Contact.php is a model file located in the /app/Models folder.
  • /database/migrations folder contains a migration file with the name 2022_08_13_04051_create contacts table.php.

Write the following line of code in the migration file.


use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

return new class extends Migration
     * Run the migrations.
     * @return void
    public function up()
        Schema::create('contacts', function (Blueprint $table) {

     * Reverse the migrations.
     * @return void
    public function down()

Write this code into the Contact.php model file.


namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;

class Contact extends Model
    use HasFactory;

     * Write code on Method
     * @return response()
    protected $fillable = [
        'name', 'email', 'body'

Run Migration

Execute this command to run the migration file in the terminal once more.

php artisan migrate

It will carry out all of your application's pending migrations. a table for contacts will be made.

Install Livewire ? A Composer Package

Run this command to install livewire inside of this Laravel application. Return to the project terminal.

composer require livewire/livewire

We can now utilize Livewire's features and capabilities.

Generate Livewire Scaffolding

To create the livewire folder and files, return to the console and execute this command.

php artisan make:livewire contact-form

This command will produce the following files:

  • /app/Http/Livewire folder contains the ContactForm.php file.
  • contact-form.blade.php /resources/views/livewire file

Enter the following code into ContactForm.php after opening it.


namespace App\Http\Livewire;

use Livewire\Component;
use App\Models\Contact;

class ContactForm extends Component
    public $name;
    public $email;
    public $body;

    public function submit()
        $validatedData = $this->validate([
            'name' => 'required|min:6',
            'email' => 'required|email',
            'body' => 'required',


        return redirect()->to('/contact-form');

    public function render()
        return view('');

Write the following code into contact-form.blade.php after opening it.

<form wire:submit.prevent="submit">
    <div class="form-group">
        <label for="exampleInputName">Name</label>
        <input type="text" class="form-control" id="exampleInputName" placeholder="Enter name" wire:model="name">
        @error('name') <span class="text-danger">{{ $message }}</span> @enderror

    <div class="form-group">
        <label for="exampleInputEmail">Email</label>
        <input type="text" class="form-control" id="exampleInputEmail" placeholder="Enter email" wire:model="email">
        @error('email') <span class="text-danger">{{ $message }}</span> @enderror

    <div class="form-group">
        <label for="exampleInputbody">Body</label>
        <textarea class="form-control" id="exampleInputbody" placeholder="Enter Body" wire:model="body"></textarea>
        @error('body') <span class="text-danger">{{ $message }}</span> @enderror

    <button type="submit" class="btn btn-primary">Save Contact</button>

Create Blade Template File

Create the form.blade.php blade template file in the resources/views folder.

Then, enter the following code into form.blade.php.


    <title>Laravel 9 Work With Livewire Form Submit Tutorial</title>
    <link rel="stylesheet" href="">
    <link href="" rel="stylesheet" />
    <script src=""></script>

    <div class="container mt-4">
        <div class="card">
            <div class="card-header text-center text-white bg-primary">
                <h4 class="text-center">Laravel 9 Work With Livewire Form Submit Tutorial</h4>
            <div class="card-body">

    <script src="{{ asset('js/app.js') }}"></script>


Add Route

From the /routes folder, open the web.php file. Then incorporate this route.


Route::get('contact-form', function () {
    return view('form');


Application Testing

php artisan serve

We sincerely hope that this post has assisted you in fully understanding the Laravel 9 Work With Livewire Form Submit Tutorial.

Recommended Posts

View All

Sentiment Analysis in Laravel with TextBlob

Sentiment analysis is a popular technique used in natural language processing to determine the overall sentiment or emotional tone of a piece of text.


It's an available fact that if you want to work at the big tech companies, you need to know how to make an impression.

Laravel Multiple Where Condition Example

Laravel multiple where condition, Laravel multiple where not working, Laravel multiple where same column, Laravel 8 Eloquent multiple where condition...

Laravel where and orWhere Condition Example

how to use where and orwhere condition in laravel 8, laravel 8 where and orwhere condition, where and orwhere laravel 8 example, orwhere and where in...

Laravel 9 Razorpay Payment Gateway Integration Example

razorpay payment gateway integration in laravel 9, laravel 9 razorpay pay payment example, laravel 9 razorpay integration, razorpay integration in lar...