# Xác thực và Form (Laravel) > Quy tắc validation, form request, quy tắc tùy chỉnh, thông báo lỗi, old input, bảo vệ CSRF, hiển thị lỗi - 22 câu hỏi phỏng vấn - Mid-Level - [Câu hỏi phỏng vấn: Laravel](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van.md) ## 1. Phương thức nào của Form Request trả về các quy tắc validation? **Câu trả lời** Phương thức rules() trong Form Request trả về một mảng kết hợp trong đó mỗi khóa là tên field và mỗi giá trị là một chuỗi hoặc mảng các quy tắc validation. Điều này cho phép tập trung toàn bộ logic validation bên ngoài controller, giúp mã dễ kiểm thử và bảo trì hơn. Sử dụng Form Request được coi là best practice của Laravel cho các form phức tạp với nhiều field. ## 2. Directive Blade nào được sử dụng để bảo vệ form khỏi các cuộc tấn công CSRF? **Câu trả lời** Directive @csrf tự động tạo một field ẩn chứa security token sẽ được xác minh khi form được gửi đi. Laravel tự động kiểm tra token này cho tất cả các request POST, PUT, PATCH và DELETE thông qua middleware VerifyCsrfToken. Nếu không có directive này, các request sẽ bị từ chối với lỗi 419. Sự bảo vệ này là thiết yếu để ngăn chặn các cuộc tấn công Cross-Site Request Forgery. ## 3. Quy tắc validation nào nên được dùng để xác minh rằng một field là địa chỉ email hợp lệ? **Câu trả lời** Quy tắc email xác minh rằng giá trị của field khớp với định dạng chuẩn của một địa chỉ email. Laravel sử dụng hàm filter_var của PHP với bộ lọc FILTER_VALIDATE_EMAIL để thực hiện việc xác minh này. Quy tắc này kiểm tra cú pháp email nhưng không đảm bảo rằng địa chỉ thực sự tồn tại. Để xác minh chặt chẽ hơn, có thể kết hợp quy tắc này với các quy tắc khác như unique để kiểm tra tính duy nhất trong cơ sở dữ liệu. ## Còn 19 câu hỏi nữa - Làm thế nào để hiển thị các giá trị cũ của form sau khi xảy ra lỗi validation? - Cú pháp đúng để định nghĩa nhiều quy tắc validation trên một field là gì? Đăng ký miễn phí: https://sharpskill.dev/vi/login ## Các chủ đề phỏng vấn Laravel khác - [Cơ bản về PHP](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/php-basics.md): 25 câu hỏi, Junior - [Kiến thức cơ bản về OOP trong PHP](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/php-oop-essentials.md): 20 câu hỏi, Junior - [Composer & Autoloading](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/composer-autoloading.md): 18 câu hỏi, Junior - [Kiến thức cơ bản về Laravel](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/laravel-fundamentals.md): 20 câu hỏi, Junior - [Routing trong Laravel](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/laravel-routing.md): 20 câu hỏi, Junior - [Blade Templates](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/blade-templates.md): 18 câu hỏi, Junior - [Request & Response](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/request-response.md): 20 câu hỏi, Junior - [Kiến thức cơ bản về Eloquent ORM](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/eloquent-orm-basics.md): 22 câu hỏi, Junior - [Eloquent Relationships](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/eloquent-relationships.md): 25 câu hỏi, Mid-Level - [Migrations & Schema Builder](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/database-migrations.md): 20 câu hỏi, Mid-Level - [Xác thực](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/authentication.md): 20 câu hỏi, Mid-Level - [Phân quyền và Policies](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/authorization-policies.md): 18 câu hỏi, Mid-Level - [API Resources & Authentication](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/api-resources-authentication.md): 26 câu hỏi, Mid-Level - [Middleware](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/middleware.md): 18 câu hỏi, Mid-Level - [Service Container & DI](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/service-container-di.md): 20 câu hỏi, Mid-Level - [Queues & Jobs](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/queues-jobs.md): 22 câu hỏi, Mid-Level - [Events & Listeners](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/events-listeners.md): 18 câu hỏi, Mid-Level - [Thông báo & Mail](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/notifications-mail.md): 20 câu hỏi, Mid-Level - [File Storage](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/file-storage.md): 18 câu hỏi, Mid-Level - [Testing & PHPUnit](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/testing-phpunit.md): 24 câu hỏi, Mid-Level - [Caching](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/caching.md): 18 câu hỏi, Mid-Level - [Livewire & Inertia](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/livewire-inertia.md): 20 câu hỏi, Mid-Level - [Eloquent Advanced](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/eloquent-advanced.md): 24 câu hỏi, Senior - [Repository Pattern](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/repository-pattern.md): 20 câu hỏi, Senior - [Laravel Packages](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/laravel-packages.md): 20 câu hỏi, Senior - [Performance Optimization](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/performance-optimization.md): 22 câu hỏi, Senior - [Security Best Practices](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/security-best-practices.md): 22 câu hỏi, Senior - [Laravel Octane](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/laravel-octane.md): 18 câu hỏi, Senior - [Laravel Distributed Systems](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/laravel-distributed-systems.md): 22 câu hỏi, Senior - [Observability & Monitoring](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/observability-monitoring.md): 20 câu hỏi, Senior - [Deployment & DevOps](https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/deployment-devops.md): 20 câu hỏi, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/vi/technologies/laravel/cau-hoi-phong-van/validation-forms