Symfony 4 — правильная валидация как на YII 2?

Symfony 4 имеет свою систему валидации, которая принципиально отличается от системы валидации в Yii 2. Однако, Symfony 4 также предоставляет мощные инструменты для правильной валидации данных.

В Yii 2 валидация основана на использовании правил моделей и атрибутов. Вы определяете правила валидации, такие как required, string, email, number и т.д., и атрибуты модели будут проверены на соответствие этим правилам при вызове метода validate(). Также в Yii 2 можно создавать пользовательские правила валидации, переопределять сообщения об ошибках и выполнять валидацию с использованием сценариев.

В Symfony 4 валидация основана на использовании класса Constraint. Правила валидации определяются с использованием аннотаций, PHP атрибутов или конфигурации в виде массива. Каждое правило валидации представляет собой экземпляр класса Constraint, который указывает на то, какую валидацию нужно применить к атрибуту или объекту. Валидация выполняется с помощью сервиса Validator, который принимает объект, который нужно проверить, и список правил валидации. Результатом валидации является экземпляр класса ConstraintViolationList, который содержит информацию о всех ошибочных полях и соответствующих им сообщениях об ошибках.

Symfony 4 также поддерживает пользовательские правила валидации, настраиваемые сообщения об ошибках и сценарии валидации.

Оба фреймворка предоставляют возможность легко настраивать валидацию и предоставляют обширную документацию по этой теме.

Таким образом, хотя системы валидации в Symfony 4 и Yii 2 различаются в своей реализации, оба фреймворка предоставляют надежные и гибкие инструменты для правильной валидации данных. Выбор между ними будет зависеть от конкретных потребностей вашего проекта и вашего предпочтения в разработке на одной из этих платформ.