Laravel CRUD Tutorial — Form, Validation and Form Request in Bangla | Part 10.2

Abu Sayed
2 min readFeb 20, 2024

--

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 এর ধারণা খুব ভালোভাবে হয়েছে। তুমি চাইলে আমাকে আরও জিজ্ঞাসা করতে পারো।

--

--

Abu Sayed
Abu Sayed

Written by Abu Sayed

Bangladeshi Full Stack Web Dev, Sys Admin & DevOps Engineer. Skills: Data analysis, SQL, Unity, C#. Python, PHP & Laravel. Me on: bd.linkedin.com/in/imabusayed

No responses yet