Dev to webs {Coding…}

ร บทเรียนฟรีด้านการพัฒนาซอฟต์แวร์ ที่ครอบคลุมเนื้อหาหลากหลาย ตั้งแต่การเขียนโค้ดพื้นฐานไปจนถึงเทคนิคขั้นสูง

บทที่ 33: การตรวจสอบและยืนยันข้อมูล (Validation)

🔹 เกริ่นนำ

เมื่อผู้ใช้ส่งข้อมูลผ่านฟอร์ม สิ่งสำคัญคือการตรวจสอบว่าข้อมูลนั้นถูกต้องและปลอดภัยก่อนจะนำไปใช้งาน เช่น การตรวจสอบว่า 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 จะถูกตรวจโดย rule confirmed

🔸 การแสดงข้อความ Validation ใน Blade

@if ($errors->any())
    <ul>
        @foreach ($errors->all() as $error)
            <li>{{ $error }}</li>
        @endforeach
    </ul>
@endif

💬 Laravel จะ redirect กลับพร้อมข้อมูล old input และ error messages โดยอัตโนมัติ