\Langkah 11: Validasi Form
Validasi form adalah langkah penting untuk memastikan data yang dimasukkan oleh pengguna sesuai dengan aturan yang ditentukan. Dengan validasi form, Anda dapat menghindari kesalahan data yang masuk ke dalam database. Laravel menyediakan fasilitas validasi form yang mudah digunakan.
Tambahkan validasi form pada fungsi store dan update di controller ArtikelController.
// app/Http/Controllers/ArticleController.php
use App\Models\Article;
use Illuminate\Http\Request;
class ArticleController extends Controller
{
// ...
public function store(Request $request)
{
$request->validate([
'title' => 'required|min:5|max:100',
'content' => 'required|min:10',
]);
Article::create([
'title' => $request->input('title'),
'content' => $request->input('content'),
]);
return redirect()->route('articles.index')->with('success', 'Article created successfully');
}
public function update(Request $request, Article $article)
{
$request->validate([
'title' => 'required|min:5|max:100',
'content' => 'required|min:10',
]);
$article->update([
'title' => $request->input('title'),
'content' => $request->input('content'),
]);
return redirect()->route('articles.index')->with('success', 'Article updated successfully');
}
}
Dalam contoh di atas, validasi form memerlukan field "title" dan "content" untuk diisi, serta "title" minimal 5 karakter dan maksimal 100 karakter, dan "content" minimal 10 karakter.
Langkah 12: Menambahkan Pesan Flash
Tambahkan pesan flash untuk memberi tahu pengguna ketika artikel berhasil dibuat, diperbarui, atau dihapus.
// app/Http/Controllers/ArticleController.php
use App\Models\Article;
use Illuminate\Http\Request;
class ArticleController extends Controller
{
// ...
public function store(Request $request)
{
// ... (kode validasi)
return redirect()->route('articles.index')->with('success', 'Article created successfully');
}
public function update(Request $request, Article $article)
{
// ... (kode validasi)
return redirect()->route('articles.index')->with('success', 'Article updated successfully');
}
public function destroy(Article $article)
{
$article->delete();
return redirect()->route('articles.index')->with('success', 'Article deleted successfully');
}
}
Langkah 13: Menampilkan Pesan Flash di View
Tambahkan kode berikut pada view untuk menampilkan pesan flash yang sudah ditambahkan.
<!-- resources/views/articles/index.blade.php -->
<!DOCTYPE html>
<html>
<head>
<title>Articles</title>
</head>
<body>
<h1>Articles</h1>
@if(session('success'))
<div style="background-color: #4CAF50; color: white; padding: 10px;">
{{ session('success') }}
</div>
@endif
<ul>
@foreach ($articles as $article)
<li><a href="{{ route('articles.show', $article) }}">{{ $article->title }}</a></li>
@endforeach
</ul>
</body>
</html>
Kesimpulan:
Dalam tutorial ini, Anda telah melengkapi fitur CRUD dengan menambahkan validasi form dan pesan flash dalam aplikasi web Laravel. Validasi form memastikan data yang dimasukkan oleh pengguna sesuai dengan aturan yang ditentukan, sementara pesan flash memberikan umpan balik yang jelas kepada pengguna ketika operasi berhasil dilakukan. Laravel menyediakan banyak fitur bermanfaat untuk mempercepat pengembangan aplikasi web yang efisien dan tangguh. Teruslah eksplorasi dan tingkatkan pengetahuan Anda dalam menggunakan Laravel untuk mengembangkan aplikasi web yang lebih kompleks dan berkualitas tinggi. Selamat mencoba dan semoga tutorial ini membantu Anda dalam perjalanan pengembangan web dengan Laravel!