# symfony/validator

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/symfony-validator).**

2,689 stars · 106 forks · PHP · MIT

## Links

- GitHub: https://github.com/symfony/validator
- Homepage: https://symfony.com/validator
- awesome-repositories: https://awesome-repositories.com/repository/symfony-validator.md

## Topics

`component` `php` `symfony` `symfony-component`

## Description

This library is a PHP framework for enforcing data integrity and business rules by validating scalar values and complex object structures against predefined constraints. It provides a structured approach to inspecting object graphs and property metadata, ensuring that data conforms to expected requirements before it is processed by an application.

The framework distinguishes itself through a metadata-driven mapping system that uses reflection or configuration files to apply rules directly to object properties. It supports contextual rule orchestration, allowing developers to organize constraints into logical groups that trigger selectively based on the application state or data lifecycle. The system also employs a visitor-based traversal pattern to inspect complex object structures and uses lazy-loading to instantiate validation rules only when required.

Beyond core validation, the library includes utilities for data formatting, temporal comparisons, and input sanitization. It features a decoupled architecture that separates constraint definitions from execution logic, enabling the creation of reusable, domain-specific rules. Error handling is managed through a translation abstraction layer, which maps violation results to localized messages for internationalized reporting.

## Tags

### Part of an Awesome List

- [Data Validation](https://awesome-repositories.com/f/awesome-lists/devtools/data-validation.md) — Validates values and object properties against predefined rule sets to ensure compliance with business logic. ([source](https://github.com/symfony/validator#readme))

### Programming Languages & Runtimes

- [PHP Validation Libraries](https://awesome-repositories.com/f/programming-languages-runtimes/php-validation-libraries.md) — Provides a comprehensive framework for enforcing data integrity and business rules through constraint-based validation in PHP applications.

### Data & Databases

- [Data Validation](https://awesome-repositories.com/f/data-databases/data-governance-modeling/data-management-governance/data-integrity-validation/data-validation.md) — Ensures incoming data and complex objects conform to business rules and structural requirements before processing.
- [Data Validation Libraries](https://awesome-repositories.com/f/data-databases/data-validation-libraries.md) — Checks individual scalar values against defined constraints to ensure they meet specific format or value requirements. ([source](https://symfony.com/doc/current/components/validator.html))
- [Format Validation Rules](https://awesome-repositories.com/f/data-databases/field-validation/format-validation-rules.md) — Validates input data against specific patterns like cron expressions or structured markup to ensure format compliance. ([source](https://github.com/symfony/validator/blob/8.2/CHANGELOG.md))
- [Structural Data Validators](https://awesome-repositories.com/f/data-databases/structural-data-validators.md) — Inspects properties and states of complex objects to ensure data integrity and consistency within the application model. ([source](https://symfony.com/doc/current/components/validator.html))

### Software Engineering & Architecture

- [Object Constraint Validation Engines](https://awesome-repositories.com/f/software-engineering-architecture/contextual-validation-rules/dynamic-validation-rules/validation-rule-engines/object-constraint-validation-engines.md) — Implements a structured engine for validating complex object graphs and property metadata against predefined business rules.
- [Constraint Mappings](https://awesome-repositories.com/f/software-engineering-architecture/rule-configuration-engines/optimization-rule-mapping/constraint-mappings.md) — Uses reflection and configuration to map validation rules directly onto object properties for automated integrity checks.
- [Domain-Specific Validation Rules](https://awesome-repositories.com/f/software-engineering-architecture/domain-specific-validation-rules.md) — Orchestrates validation logic into groups that trigger selectively based on the data lifecycle or application state.
- [Validation Message Localization](https://awesome-repositories.com/f/software-engineering-architecture/internationalization-frameworks/validation-message-localization.md) — Routes validation failure messages through a localization layer to provide multi-language support for error reporting.
- [Data Structure Traversers](https://awesome-repositories.com/f/software-engineering-architecture/recursive-validation-engines/recursive-tree-traversers/data-structure-traversers.md) — Implements visitor-based traversal to inspect complex object graphs and delegate validation logic to specific handlers.
- [Validation Grouping](https://awesome-repositories.com/f/software-engineering-architecture/validation-grouping.md) — Organizes validation rules into logical sets that trigger selectively based on the application state.
- [Validation Logic Decoupling](https://awesome-repositories.com/f/software-engineering-architecture/validation-logic-decoupling.md) — Separates validation rules from domain entities to maintain clean, testable, and reusable validation logic.

### User Interface & Experience

- [Custom Logic Validation](https://awesome-repositories.com/f/user-interface-experience/input-validation-constraints/custom-logic-validation.md) — Enables the creation of reusable, domain-specific validation logic that can be applied to any data structure. ([source](https://symfony.com/doc/current/components/validator.html))

### Web Development

- [Input Sanitizers](https://awesome-repositories.com/f/web-development/form-processing/input-sanitizers.md) — Provides robust input sanitization utilities to ensure user-provided data conforms to security and format constraints.
