From ccc5d36c0efea81ba29c013a808e4dc30282b23f Mon Sep 17 00:00:00 2001 From: Yoga Pangestu Date: Fri, 19 Dec 2025 14:31:54 +0700 Subject: [PATCH] feat: Implement email verification for user registration. --- app/Filament/Pages/CustomRegistration.php | 3 ++- app/Models/User.php | 3 ++- app/Providers/Filament/DashboardPanelProvider.php | 1 + 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/app/Filament/Pages/CustomRegistration.php b/app/Filament/Pages/CustomRegistration.php index 3188882..92a677a 100644 --- a/app/Filament/Pages/CustomRegistration.php +++ b/app/Filament/Pages/CustomRegistration.php @@ -36,7 +36,8 @@ public function form(Schema $schema): Schema ->required() ->maxLength(254) ->unique('users', 'email') - ->email(), + ->email() + ->aboveContent('Pastikan alamat surel aktif, karena akan digunakan untuk verifikasi akun Anda.'), TextInput::make('username') ->label('Nama Pengguna') diff --git a/app/Models/User.php b/app/Models/User.php index a463be0..36c8e56 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -5,6 +5,7 @@ use App\Enums\IsActive; use Filament\Models\Contracts\FilamentUser; use Filament\Panel; +use Illuminate\Contracts\Auth\MustVerifyEmail; use Illuminate\Database\Eloquent\Attributes\Scope; use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Factories\HasFactory; @@ -15,7 +16,7 @@ use Illuminate\Notifications\Notifiable; use Spatie\Permission\Traits\HasRoles; -class User extends Authenticatable implements FilamentUser +class User extends Authenticatable implements FilamentUser, MustVerifyEmail { use HasFactory, HasRoles, Notifiable, SoftDeletes; diff --git a/app/Providers/Filament/DashboardPanelProvider.php b/app/Providers/Filament/DashboardPanelProvider.php index 2979422..7db9cd7 100644 --- a/app/Providers/Filament/DashboardPanelProvider.php +++ b/app/Providers/Filament/DashboardPanelProvider.php @@ -49,6 +49,7 @@ public function panel(Panel $panel): Panel ->path('dashboard') ->login(CustomLogin::class) ->registration(CustomRegistration::class) + ->emailVerification() ->colors([ 'primary' => Color::Blue, ])