🔹 เกริ่นนำ
เมื่อผู้ใช้ส่งข้อมูลผ่านฟอร์ม สิ่งสำคัญคือการตรวจสอบว่าข้อมูลนั้นถูกต้องและปลอดภัยก่อนจะนำไปใช้งาน เช่น การตรวจสอบว่า email ถูกต้องหรือไม่ ชื่อไม่ว่างเปล่า Laravel มีระบบ Validation ที่ช่วยให้การตรวจสอบข้อมูลเป็นเรื่องง่ายและยืดหยุ่น ทั้งแบบอัตโนมัติผ่าน Form Request class หรือแบบกำหนด rule ภายใน Controller
บทนี้จะสอนวิธีใช้ validation ใน Controller และแสดงข้อความผิดพลาดกลับไปยัง View อย่างเหมาะสม พร้อมโค้ดตัวอย่างที่สามารถนำไปใช้ได้ทันที
🔸 การใช้ Validation ใน Controller
use Illuminate\Http\Request;
public function register(Request $request)
{
$validated = $request->validate([
'name' => 'required|string|max:50',
'email' => 'required|email|unique:users,email',
'password' => 'required|min:8|confirmed'
]);
// หากผ่าน validation จะมาทำงานต่อที่นี่ เช่น บันทึกข้อมูล
}
💡 ฟิลด์
password_confirmation
จะถูกตรวจโดย ruleconfirmed
🔸 การแสดงข้อความ Validation ใน Blade
@if ($errors->any())
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
@endif
💬 Laravel จะ redirect กลับพร้อมข้อมูล old input และ error messages โดยอัตโนมัติ