# Validasi Data (Symfony) > Constraints, custom validator, validation groups, validasi Entity, validasi DTO - 18 pertanyaan wawancara - Junior - [Pertanyaan Wawancara: Symfony](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara.md) ## 1. Apa peran utama komponen Validator Symfony? **Jawaban** Komponen Validator Symfony memvalidasi data sesuai dengan aturan yang ditentukan bernama constraints. Komponen ini dapat memvalidasi objek, nilai skalar, dan array, serta mengembalikan daftar violation jika aturan tidak terpenuhi. Komponen ini terintegrasi dengan form, tetapi juga dapat digunakan secara independen. ## 2. Constraint mana yang harus digunakan untuk memverifikasi bahwa sebuah field tidak kosong atau null? **Jawaban** Constraint NotBlank memeriksa bahwa sebuah nilai tidak kosong (string kosong, null, atau array kosong). Constraint ini berbeda dari NotNull yang menerima string kosong. NotBlank paling sering digunakan untuk field form yang wajib diisi karena juga menolak string yang hanya berisi spasi. ## 3. Bagaimana cara menerapkan constraint validasi pada properti entity menggunakan attributes PHP 8? **Jawaban** Sejak PHP 8, constraint validasi diterapkan melalui attributes langsung di atas properti. Sintaksnya menggunakan prefix Assert dengan namespace Symfony\Component\Validator\Constraints. Pendekatan ini lebih ringkas daripada anotasi DocBlock dan memperoleh manfaat dari dukungan native PHP. ## 15 pertanyaan lagi tersedia - constraint mana yang memvalidasi bahwa sebuah string cocok dengan format email yang valid? - Bagaimana cara memvalidasi panjang sebuah string dengan nilai minimum dan maksimum? Daftar gratis: https://sharpskill.dev/id/login ## Topik wawancara Symfony lainnya - [PHP Modern (8.1+)](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/php-modern-features.md): 20 pertanyaan, Junior - [Dasar-dasar Symfony](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/symfony-basics.md): 25 pertanyaan, Junior - [Routing & Controllers](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/routing-controllers.md): 20 pertanyaan, Junior - [Twig & Templates](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/twig-templates.md): 20 pertanyaan, Junior - [Dasar-dasar Doctrine ORM](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/doctrine-orm-basics.md): 25 pertanyaan, Junior - [Formulir Symfony](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/forms.md): 22 pertanyaan, Junior - [Dependency Injection & Services](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/dependency-injection.md): 24 pertanyaan, Mid-Level - [Security & Authentication](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/security-authentication.md): 26 pertanyaan, Mid-Level - [Doctrine Tingkat Lanjut](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/doctrine-advanced.md): 24 pertanyaan, Mid-Level - [API Platform](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/api-platform.md): 22 pertanyaan, Mid-Level - [Serializer Component](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/serializer.md): 20 pertanyaan, Mid-Level - [Events & Event Subscribers](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/events-subscribers.md): 20 pertanyaan, Mid-Level - [Console & Commands](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/console-commands.md): 18 pertanyaan, Mid-Level - [Messenger Component](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/messenger.md): 22 pertanyaan, Mid-Level - [HTTP Client](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/http-client.md): 18 pertanyaan, Mid-Level - [Cache & Performa](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/cache.md): 20 pertanyaan, Mid-Level - [Workflow Component](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/workflow.md): 18 pertanyaan, Mid-Level - [Testing Symfony](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/testing.md): 22 pertanyaan, Mid-Level - [Mailer Component](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/mailer.md): 16 pertanyaan, Mid-Level - [Terjemahan & i18n](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/translations.md): 16 pertanyaan, Mid-Level - [EasyAdmin Bundle](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/easyadmin.md): 18 pertanyaan, Mid-Level - [Arsitektur Symfony](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/architecture-patterns.md): 24 pertanyaan, Senior - [Performa & Optimasi](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/performance-optimization.md): 22 pertanyaan, Senior - [Keamanan Lanjutan](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/security-advanced.md): 22 pertanyaan, Senior - [Custom Bundle](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/custom-bundles.md): 20 pertanyaan, Senior - [Microservices dengan Symfony](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/microservices.md): 22 pertanyaan, Senior - [Real-time & WebSockets](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/real-time.md): 18 pertanyaan, Senior - [Deployment & DevOps](https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/deployment-devops.md): 20 pertanyaan, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/id/technologies/symfony/pertanyaan-wawancara/validation