# データバリデーション (Symfony) > Constraints、カスタム validator、validation groups、Entity のバリデーション、DTO のバリデーション - 18 面接問題 - Junior - [面接問題: Symfony](https://sharpskill.dev/ja/technologies/symfony/interview-questions.md) ## 1. Symfony の Validator コンポーネントの主な役割は何ですか? **回答** Symfony の Validator コンポーネントは、constraints と呼ばれる定義済みのルールに従ってデータを検証します。オブジェクト、スカラー値、配列を検証でき、ルールを満たさない場合は violation のリストを返します。このコンポーネントはフォームと統合されていますが、単独でも使用できます。 ## 2. フィールドが空または null でないことを確認するには、どの constraint を使用すべきですか? **回答** NotBlank constraint は、値が空でないこと(空文字列、null、空配列)を確認します。空文字列を許容する NotNull とは異なります。NotBlank は空白のみを含む文字列も拒否するため、必須のフォームフィールドで最もよく使われます。 ## 3. PHP 8 の attributes を使って、Entity のプロパティに validation の constraint を適用するにはどうすればよいですか? **回答** PHP 8 以降、validation の constraint はプロパティの直上に attributes を使って適用されます。構文では Assert プレフィックスと Symfony\Component\Validator\Constraints の namespace を使用します。このアプローチは DocBlock のアノテーションより簡潔で、PHP のネイティブサポートの恩恵を受けられます。 ## さらに15問利用可能 - 文字列が有効なメール形式に一致することを検証する constraint はどれですか? - 最小値と最大値を使って文字列の長さを検証するにはどうすればよいですか? 無料で登録: https://sharpskill.dev/ja/login ## その他のSymfony面接トピック - [モダンPHP (8.1+)](https://sharpskill.dev/ja/technologies/symfony/interview-questions/php-modern-features.md): 20問, Junior - [Symfony の基礎](https://sharpskill.dev/ja/technologies/symfony/interview-questions/symfony-basics.md): 25問, Junior - [Routing & Controllers](https://sharpskill.dev/ja/technologies/symfony/interview-questions/routing-controllers.md): 20問, Junior - [Twig & Templates](https://sharpskill.dev/ja/technologies/symfony/interview-questions/twig-templates.md): 20問, Junior - [Doctrine ORM の基礎](https://sharpskill.dev/ja/technologies/symfony/interview-questions/doctrine-orm-basics.md): 25問, Junior - [Symfony フォーム](https://sharpskill.dev/ja/technologies/symfony/interview-questions/forms.md): 22問, Junior - [Dependency Injection & Services](https://sharpskill.dev/ja/technologies/symfony/interview-questions/dependency-injection.md): 24問, Mid-Level - [Security & Authentication](https://sharpskill.dev/ja/technologies/symfony/interview-questions/security-authentication.md): 26問, Mid-Level - [Doctrine 上級](https://sharpskill.dev/ja/technologies/symfony/interview-questions/doctrine-advanced.md): 24問, Mid-Level - [API Platform](https://sharpskill.dev/ja/technologies/symfony/interview-questions/api-platform.md): 22問, Mid-Level - [Serializer Component](https://sharpskill.dev/ja/technologies/symfony/interview-questions/serializer.md): 20問, Mid-Level - [Events & Event Subscribers](https://sharpskill.dev/ja/technologies/symfony/interview-questions/events-subscribers.md): 20問, Mid-Level - [Console & Commands](https://sharpskill.dev/ja/technologies/symfony/interview-questions/console-commands.md): 18問, Mid-Level - [Messenger Component](https://sharpskill.dev/ja/technologies/symfony/interview-questions/messenger.md): 22問, Mid-Level - [HTTP Client](https://sharpskill.dev/ja/technologies/symfony/interview-questions/http-client.md): 18問, Mid-Level - [キャッシュとパフォーマンス](https://sharpskill.dev/ja/technologies/symfony/interview-questions/cache.md): 20問, Mid-Level - [Workflow Component](https://sharpskill.dev/ja/technologies/symfony/interview-questions/workflow.md): 18問, Mid-Level - [Testing Symfony](https://sharpskill.dev/ja/technologies/symfony/interview-questions/testing.md): 22問, Mid-Level - [Mailer Component](https://sharpskill.dev/ja/technologies/symfony/interview-questions/mailer.md): 16問, Mid-Level - [翻訳と i18n](https://sharpskill.dev/ja/technologies/symfony/interview-questions/translations.md): 16問, Mid-Level - [EasyAdmin Bundle](https://sharpskill.dev/ja/technologies/symfony/interview-questions/easyadmin.md): 18問, Mid-Level - [Symfony アーキテクチャ](https://sharpskill.dev/ja/technologies/symfony/interview-questions/architecture-patterns.md): 24問, Senior - [パフォーマンスと最適化](https://sharpskill.dev/ja/technologies/symfony/interview-questions/performance-optimization.md): 22問, Senior - [高度なセキュリティ](https://sharpskill.dev/ja/technologies/symfony/interview-questions/security-advanced.md): 22問, Senior - [カスタムバンドル](https://sharpskill.dev/ja/technologies/symfony/interview-questions/custom-bundles.md): 20問, Senior - [Symfony によるマイクロサービス](https://sharpskill.dev/ja/technologies/symfony/interview-questions/microservices.md): 22問, Senior - [Real-time & WebSockets](https://sharpskill.dev/ja/technologies/symfony/interview-questions/real-time.md): 18問, Senior - [Deployment & DevOps](https://sharpskill.dev/ja/technologies/symfony/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/symfony/interview-questions/validation