# การตรวจสอบและฟอร์ม (Laravel) > กฎการตรวจสอบ, form request, กฎที่กำหนดเอง, ข้อความแสดงข้อผิดพลาด, old input, การป้องกัน CSRF, การแสดงข้อผิดพลาด - 22 คำถามสัมภาษณ์ - Mid-Level - [คำถามสัมภาษณ์: Laravel](https://sharpskill.dev/th/technologies/laravel/interview-questions.md) ## 1. เมธอดใดของ Form Request ที่คืนค่ากฎการตรวจสอบ? **คำตอบ** เมธอด rules() ใน Form Request คืนค่าอาร์เรย์แบบ associative ที่แต่ละคีย์เป็นชื่อฟิลด์และแต่ละค่าเป็นสตริงหรืออาร์เรย์ของกฎการตรวจสอบ ซึ่งช่วยให้สามารถรวมศูนย์ตรรกะการตรวจสอบทั้งหมดไว้นอก controller ทำให้โค้ดทดสอบและบำรุงรักษาได้ง่ายขึ้น การใช้ Form Request ถือเป็น best practice ของ Laravel สำหรับฟอร์มที่ซับซ้อนซึ่งมีหลายฟิลด์ ## 2. ไดเรกทีฟ Blade ใดที่ใช้เพื่อป้องกันฟอร์มจากการโจมตี CSRF? **คำตอบ** ไดเรกทีฟ @csrf สร้างฟิลด์ที่ซ่อนอยู่โดยอัตโนมัติซึ่งมี security token ที่จะถูกตรวจสอบเมื่อมีการส่งฟอร์ม Laravel จะตรวจสอบ token นี้โดยอัตโนมัติสำหรับทุก request แบบ POST, PUT, PATCH และ DELETE ผ่าน middleware VerifyCsrfToken หากไม่มีไดเรกทีฟนี้ request จะถูกปฏิเสธด้วยข้อผิดพลาด 419 การป้องกันนี้จำเป็นต่อการป้องกันการโจมตีแบบ Cross-Site Request Forgery ## 3. ควรใช้กฎการตรวจสอบใดเพื่อยืนยันว่าฟิลด์เป็นที่อยู่อีเมลที่ถูกต้อง? **คำตอบ** กฎ email ตรวจสอบว่าค่าของฟิลด์ตรงกับรูปแบบมาตรฐานของที่อยู่อีเมล Laravel ใช้ฟังก์ชัน filter_var ของ PHP พร้อมตัวกรอง FILTER_VALIDATE_EMAIL เพื่อทำการตรวจสอบนี้ กฎนี้ตรวจสอบไวยากรณ์ของอีเมลแต่ไม่รับประกันว่าที่อยู่นั้นมีอยู่จริง สำหรับการตรวจสอบที่เข้มงวดขึ้น สามารถรวมกฎนี้กับกฎอื่นเช่น unique เพื่อตรวจสอบความไม่ซ้ำกันในฐานข้อมูล ## มีอีก 19 คำถาม - จะแสดงค่าเก่าของฟอร์มหลังจากเกิดข้อผิดพลาดในการตรวจสอบได้อย่างไร? - ไวยากรณ์ที่ถูกต้องในการกำหนดกฎการตรวจสอบหลายข้อบนฟิลด์เดียวคืออะไร? สมัครฟรี: https://sharpskill.dev/th/login ## หัวข้อสัมภาษณ์ Laravel อื่นๆ - [พื้นฐาน PHP](https://sharpskill.dev/th/technologies/laravel/interview-questions/php-basics.md): 25 คำถาม, Junior - [พื้นฐาน OOP ใน PHP](https://sharpskill.dev/th/technologies/laravel/interview-questions/php-oop-essentials.md): 20 คำถาม, Junior - [Composer & Autoloading](https://sharpskill.dev/th/technologies/laravel/interview-questions/composer-autoloading.md): 18 คำถาม, Junior - [พื้นฐาน Laravel](https://sharpskill.dev/th/technologies/laravel/interview-questions/laravel-fundamentals.md): 20 คำถาม, Junior - [Laravel Routing](https://sharpskill.dev/th/technologies/laravel/interview-questions/laravel-routing.md): 20 คำถาม, Junior - [Blade Templates](https://sharpskill.dev/th/technologies/laravel/interview-questions/blade-templates.md): 18 คำถาม, Junior - [Request & Response](https://sharpskill.dev/th/technologies/laravel/interview-questions/request-response.md): 20 คำถาม, Junior - [พื้นฐาน Eloquent ORM](https://sharpskill.dev/th/technologies/laravel/interview-questions/eloquent-orm-basics.md): 22 คำถาม, Junior - [Eloquent Relationships](https://sharpskill.dev/th/technologies/laravel/interview-questions/eloquent-relationships.md): 25 คำถาม, Mid-Level - [Migrations & Schema Builder](https://sharpskill.dev/th/technologies/laravel/interview-questions/database-migrations.md): 20 คำถาม, Mid-Level - [การยืนยันตัวตน](https://sharpskill.dev/th/technologies/laravel/interview-questions/authentication.md): 20 คำถาม, Mid-Level - [การให้สิทธิ์และ Policies](https://sharpskill.dev/th/technologies/laravel/interview-questions/authorization-policies.md): 18 คำถาม, Mid-Level - [API Resources & Authentication](https://sharpskill.dev/th/technologies/laravel/interview-questions/api-resources-authentication.md): 26 คำถาม, Mid-Level - [Middleware](https://sharpskill.dev/th/technologies/laravel/interview-questions/middleware.md): 18 คำถาม, Mid-Level - [Service Container & DI](https://sharpskill.dev/th/technologies/laravel/interview-questions/service-container-di.md): 20 คำถาม, Mid-Level - [Queues & Jobs](https://sharpskill.dev/th/technologies/laravel/interview-questions/queues-jobs.md): 22 คำถาม, Mid-Level - [Events & Listeners](https://sharpskill.dev/th/technologies/laravel/interview-questions/events-listeners.md): 18 คำถาม, Mid-Level - [การแจ้งเตือนและเมล](https://sharpskill.dev/th/technologies/laravel/interview-questions/notifications-mail.md): 20 คำถาม, Mid-Level - [File Storage](https://sharpskill.dev/th/technologies/laravel/interview-questions/file-storage.md): 18 คำถาม, Mid-Level - [Testing & PHPUnit](https://sharpskill.dev/th/technologies/laravel/interview-questions/testing-phpunit.md): 24 คำถาม, Mid-Level - [Caching](https://sharpskill.dev/th/technologies/laravel/interview-questions/caching.md): 18 คำถาม, Mid-Level - [Livewire & Inertia](https://sharpskill.dev/th/technologies/laravel/interview-questions/livewire-inertia.md): 20 คำถาม, Mid-Level - [Eloquent Advanced](https://sharpskill.dev/th/technologies/laravel/interview-questions/eloquent-advanced.md): 24 คำถาม, Senior - [Repository Pattern](https://sharpskill.dev/th/technologies/laravel/interview-questions/repository-pattern.md): 20 คำถาม, Senior - [Laravel Packages](https://sharpskill.dev/th/technologies/laravel/interview-questions/laravel-packages.md): 20 คำถาม, Senior - [Performance Optimization](https://sharpskill.dev/th/technologies/laravel/interview-questions/performance-optimization.md): 22 คำถาม, Senior - [Security Best Practices](https://sharpskill.dev/th/technologies/laravel/interview-questions/security-best-practices.md): 22 คำถาม, Senior - [Laravel Octane](https://sharpskill.dev/th/technologies/laravel/interview-questions/laravel-octane.md): 18 คำถาม, Senior - [Laravel Distributed Systems](https://sharpskill.dev/th/technologies/laravel/interview-questions/laravel-distributed-systems.md): 22 คำถาม, Senior - [Observability & Monitoring](https://sharpskill.dev/th/technologies/laravel/interview-questions/observability-monitoring.md): 20 คำถาม, Senior - [Deployment & DevOps](https://sharpskill.dev/th/technologies/laravel/interview-questions/deployment-devops.md): 20 คำถาม, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/th/technologies/laravel/interview-questions/validation-forms