Halo teman-teman semuanya! Selamat datang di part terakhir seri Tutorial Laravel 11 untuk Pemula. Pada part sebelumnya, kita sudah berhasil membuat fitur Delete Data sehingga aplikasi CRUD kita sudah lengkap.
Di part terakhir ini, kita akan mempercantik aplikasi dengan Flash Message agar pengguna mendapatkan notifikasi yang lebih jelas dan interaktif setiap kali melakukan aksi (tambah, edit, atau hapus data).
1. Apa itu Flash Message?
Flash message adalah pesan singkat yang hanya muncul sekali setelah aksi tertentu dilakukan (misalnya “Produk berhasil ditambahkan”). Pesan ini disimpan di session dan otomatis hilang setelah ditampilkan.
Laravel sudah menyediakan cara sederhana untuk mengatur flash message melalui session.
2. Mengirim Flash Message di Controller
Contoh: ketika berhasil menyimpan data di ProductController
, kita bisa menambahkan kode berikut:
return redirect()->route('products.index') ->with('success', 'Produk berhasil ditambahkan.');
Begitu juga saat update atau delete:
return redirect()->route('products.index') ->with('success', 'Produk berhasil diperbarui.'); return redirect()->route('products.index') ->with('success', 'Produk berhasil dihapus.');
3. Menampilkan Flash Message di Blade View
Agar flash message muncul di halaman, tambahkan kode berikut di halaman index kita resources/views/products/views.blade.php
.
@if (session('success')) <div class="alert alert-success alert-dismissible fade show mt-3" role="alert"> {{ session('success') }} <button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button> </div> @endif
Penjelasan:
session('success')
mengambil pesan dari controller (with('success')
).alert alert-success
menggunakan Bootstrap agar tampil menarik.Tombol
btn-close
memungkinkan pengguna menutup pesan secara manual.
4. Membuat Flash Message Reusable (Opsional)
Agar lebih rapi, kita bisa ekstrak flash message menjadi komponen Blade.
Buat file baru resources/views/components/flash-message.blade.php
:
@if (session('success')) <div class="alert alert-success alert-dismissible fade show mt-3" role="alert"> {{ session('success') }} <button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button> </div> @endif
Lalu panggil di file index:
<x-flash-message />
sekarang silakan teman-teman tambah, edit, ataupun hapus datanya, maka akan muncul flash messagenya.
Penutup
Selesai sudah seri Tutorial Laravel 11 untuk Pemula
Kita telah membuat aplikasi CRUD sederhana mulai dari setup project, migration, model, controller, hingga UI yang lebih interaktif dengan flash message.