Laravel CRUD Tutorial — Form, Validation and Form Request in Bangla | Part 10.2
Learn how to use Form, Validation and Form Request in Laravel CRUD. With example code in Bangla, master creating, validating and submitting forms.
প্রিয় বন্ধু, তোমার Laravel CRUD শিখতে ইচ্ছুক বলে ধরে নিচ্ছি। সেক্ষেত্রে ফর্ম, ভ্যালিডেশন এবং ফর্ম রিকোয়েস্ট ব্যবহার করা অত্যন্ত গুরুত্বপূর্ণ। তাই আজ আমি তোমাকে Laravel CRUD-এর ফর্ম, ভ্যালিডেশন এবং ফর্ম রিকোয়েস্ট সম্পর্কে বিস্তারিত ধারণা দিতে চাই।
১. ফর্ম তৈরি করা
CRUD এর ক্ষেত্রে সবচেয়ে বেশি ফর্ম ব্যবহার হয়। যেমন create এবং edit এর জন্য ফর্ম দরকার। Laravel তে ফর্ম তৈরি করা খুব সহজ।
ধরুন আমরা posts/create
রাউটে একটি ফর্ম তৈরি করতে চাই।
Route::get('/posts/create', [PostController::class, 'create']);
সেক্ষেত্রে create
মেথডে আমরা ফর্ম তৈরি করবো।
public function create()
{
return view('posts.create');
}
এখানে posts.create
হল ফর্মের ভিউ যেখানে ফর্ম কোড লিখবো।
<!-- posts/create.blade.php -->
<form method="POST" action="/posts"> @csrf
<input name="title"/> <textarea name="body"></textarea> <button type="submit">Submit</button></form>
এভাবে সহজেই ফর্ম তৈরি করা যায়।
২. ফর্ম Validation
কোন ফর্ম সাবমিট করার আগে সেটা validate করা খুবই জরুরি। এজন্য Laravel এর validator class ব্যবহার করা হয়।
আগের উদাহরণে কোন পোস্ট সাবমিট করার আগে যেন শিরোনাম এবং বডি থাকে সেটা নিশ্চিত করা যাক।
public function store(Request $request)
{
// Validate input
$request->validate([
'title' => 'required',
'body' => 'required'
]); // Create post
$post = Post::create($request->only('title', 'body'));
// Redirect
return redirect()->route('posts.show', $post->id);
}
এখানে validate
method দিয়ে আমরা ভ্যালিডেশন লিখেছি। এতে required
rule ব্যবহার করে শিরোনাম এবং বডি ক্ষেত্রগুলো বাধ্যতামূলক করে দিয়েছি।
৩. ফর্ম Request
যদি validation লম্বা হয় তাহলে এটাকে আলাদা ফর্ম রিকোয়েস্ট ক্লাসে রাখা ভাল।
আমরা PostRequest
নামে একটি ফর্ম রিকোয়েস্ট ক্লাস তৈরি করি।
php artisan make:request PostRequest
এখানে validate method এ ভ্যালিডেশন লিখি।
public function validate()
{
return [
'title' => 'required|min:5',
'body' => 'required'
];
}
এবার Controller এ PostRequest
কে ইনজেক্ট করে নিই।
public function store(PostRequest $request) {
// Validation already done by PostRequest // Create post
$post = Post::create($request->only('title', 'body')); return redirect('posts');
}
এভাবে ভ্যালিডেশন কোড ক্লিন থাকে এবং সহজে মেইনটেন করা যায়।
আশা করি তোমার Laravel CRUD এর ধারণা খুব ভালোভাবে হয়েছে। তুমি চাইলে আমাকে আরও জিজ্ঞাসা করতে পারো।