Build multi-step form wizards.
Component
@php
new class extends Livewire\Component {
public int $step = 1;
public string $name = '';
public string $email = '';
public string $plan = '';
public function nextStep(): void
{
$this->validateCurrentStep();
$this->step++;
}
public function prevStep(): void
{
$this->step--;
}
private function validateCurrentStep(): void
{
match($this->step) {
1 => $this->validate(['name' => 'required']),
2 => $this->validate(['email' => 'required|email']),
default => null,
};
}
}
@endphp