# バリデーションとフォーム (Laravel) > バリデーションルール、Form Request、カスタムルール、エラーメッセージ、old input、CSRF保護、エラーの表示 - 22 面接問題 - Mid-Level - [面接問題: Laravel](https://sharpskill.dev/ja/technologies/laravel/interview-questions.md) ## 1. Form Requestのどのメソッドがバリデーションルールを返しますか? **回答** Form Requestのrules()メソッドは、各キーがフィールド名で、各値がバリデーションルールの文字列または配列となる連想配列を返します。これにより、すべてのバリデーションロジックをcontrollerの外に集約でき、コードのテストや保守が容易になります。Form Requestの使用は、複数のフィールドを持つ複雑なフォームにおけるLaravelのベストプラクティスとされています。 ## 2. フォームをCSRF攻撃から保護するために使用するBladeディレクティブはどれですか? **回答** @csrfディレクティブは、フォーム送信時に検証されるセキュリティトークンを含む隠しフィールドを自動的に生成します。LaravelはVerifyCsrfTokenミドルウェアを介して、すべてのPOST、PUT、PATCH、DELETEリクエストでこのトークンを自動的に検証します。このディレクティブがないと、リクエストは419エラーで拒否されます。この保護はCross-Site Request Forgery攻撃を防ぐために不可欠です。 ## 3. フィールドが有効なメールアドレスであることを確認するには、どのバリデーションルールを使用しますか? **回答** emailルールは、フィールドの値が標準的なメールアドレスの形式に一致することを検証します。Laravelはこの検証を行うためにPHPのfilter_var関数とFILTER_VALIDATE_EMAILフィルターを使用します。このルールはメールの構文をチェックしますが、アドレスが実際に存在することは保証しません。より厳密な検証には、データベースの一意性を確認するためにuniqueなどの他のルールと組み合わせることができます。 ## さらに19問利用可能 - バリデーションエラー後にフォームの以前の値を表示するにはどうしますか? - 1つのフィールドに複数のバリデーションルールを定義するための正しい構文はどれですか? 無料で登録: https://sharpskill.dev/ja/login ## その他のLaravel面接トピック - [PHPの基礎](https://sharpskill.dev/ja/technologies/laravel/interview-questions/php-basics.md): 25問, Junior - [PHP オブジェクト指向の基礎](https://sharpskill.dev/ja/technologies/laravel/interview-questions/php-oop-essentials.md): 20問, Junior - [Composer & Autoloading](https://sharpskill.dev/ja/technologies/laravel/interview-questions/composer-autoloading.md): 18問, Junior - [Laravelの基礎](https://sharpskill.dev/ja/technologies/laravel/interview-questions/laravel-fundamentals.md): 20問, Junior - [Laravel ルーティング](https://sharpskill.dev/ja/technologies/laravel/interview-questions/laravel-routing.md): 20問, Junior - [Blade Templates](https://sharpskill.dev/ja/technologies/laravel/interview-questions/blade-templates.md): 18問, Junior - [Request & Response](https://sharpskill.dev/ja/technologies/laravel/interview-questions/request-response.md): 20問, Junior - [Eloquent ORM の基礎](https://sharpskill.dev/ja/technologies/laravel/interview-questions/eloquent-orm-basics.md): 22問, Junior - [Eloquent Relationships](https://sharpskill.dev/ja/technologies/laravel/interview-questions/eloquent-relationships.md): 25問, Mid-Level - [Migrations & Schema Builder](https://sharpskill.dev/ja/technologies/laravel/interview-questions/database-migrations.md): 20問, Mid-Level - [認証](https://sharpskill.dev/ja/technologies/laravel/interview-questions/authentication.md): 20問, Mid-Level - [認可とPolicies](https://sharpskill.dev/ja/technologies/laravel/interview-questions/authorization-policies.md): 18問, Mid-Level - [API Resources & Authentication](https://sharpskill.dev/ja/technologies/laravel/interview-questions/api-resources-authentication.md): 26問, Mid-Level - [ミドルウェア](https://sharpskill.dev/ja/technologies/laravel/interview-questions/middleware.md): 18問, Mid-Level - [Service Container & DI](https://sharpskill.dev/ja/technologies/laravel/interview-questions/service-container-di.md): 20問, Mid-Level - [Queues & Jobs](https://sharpskill.dev/ja/technologies/laravel/interview-questions/queues-jobs.md): 22問, Mid-Level - [Events & Listeners](https://sharpskill.dev/ja/technologies/laravel/interview-questions/events-listeners.md): 18問, Mid-Level - [通知とメール](https://sharpskill.dev/ja/technologies/laravel/interview-questions/notifications-mail.md): 20問, Mid-Level - [File Storage](https://sharpskill.dev/ja/technologies/laravel/interview-questions/file-storage.md): 18問, Mid-Level - [Testing & PHPUnit](https://sharpskill.dev/ja/technologies/laravel/interview-questions/testing-phpunit.md): 24問, Mid-Level - [Caching](https://sharpskill.dev/ja/technologies/laravel/interview-questions/caching.md): 18問, Mid-Level - [Livewire & Inertia](https://sharpskill.dev/ja/technologies/laravel/interview-questions/livewire-inertia.md): 20問, Mid-Level - [Eloquent Advanced](https://sharpskill.dev/ja/technologies/laravel/interview-questions/eloquent-advanced.md): 24問, Senior - [Repository Pattern](https://sharpskill.dev/ja/technologies/laravel/interview-questions/repository-pattern.md): 20問, Senior - [Laravel パッケージ](https://sharpskill.dev/ja/technologies/laravel/interview-questions/laravel-packages.md): 20問, Senior - [Performance Optimization](https://sharpskill.dev/ja/technologies/laravel/interview-questions/performance-optimization.md): 22問, Senior - [Security Best Practices](https://sharpskill.dev/ja/technologies/laravel/interview-questions/security-best-practices.md): 22問, Senior - [Laravel Octane](https://sharpskill.dev/ja/technologies/laravel/interview-questions/laravel-octane.md): 18問, Senior - [Laravel Distributed Systems](https://sharpskill.dev/ja/technologies/laravel/interview-questions/laravel-distributed-systems.md): 22問, Senior - [Observability & Monitoring](https://sharpskill.dev/ja/technologies/laravel/interview-questions/observability-monitoring.md): 20問, Senior - [Deployment & DevOps](https://sharpskill.dev/ja/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/ja/technologies/laravel/interview-questions/validation-forms