Mahmoud Al-HabashOpen to new projects
  • WorkWork
  • ServicesServices
  • LabLab
  • WritingWriting
  • ContactContact
Amman--:--عربي
Writing/Laravel

Livewire Form Wizard Pattern

Build multi-step form wizards with Livewire.

16 January 20261 min readLaravelاقرأ بالعربية

On this page

  1. Component
  2. View

Multi-step form wizard:

Component

php
class RegistrationWizard extends Component
{
    public int $step = 1;
    public array $data = [];

    public function nextStep()
    {
        $this->validateStep();
        $this->step++;
    }

    public function previousStep()
    {
        $this->step--;
    }

    private function validateStep()
    {
        match($this->step) {
            1 => $this->validate(['data.email' => 'required|email']),
            2 => $this->validate(['data.name' => 'required']),
            default => null
        };
    }
}

View

blade
@if($step === 1)
    <input wire:model="data.email">
@elseif($step === 2)
    <input wire:model="data.name">
@endif
All articles

Keep reading

  • Laravel Action Classes Pattern16 January 20261 min read
  • Laravel Action Classes: Single Responsibility16 January 20261 min read
  • Laravel API Rate Limiting16 January 20261 min read