Применить валидацию перед преобразованием данных

Я хочу преобразовать текстовое поле, которое я получил из представленных пользовательских данных, в объект в Symfony2. Для этого я использовал DataTransformer. Когда я использую встроенные валидаторы, такие как «NotEmpty» или «NotNull» или любые настраиваемые валидаторы, которые построены стандартным способом, Symfony2 передает мне свой конкретный объект, но я хочу проверить это текстовое поле перед преобразованием его в объект. Что мне делать? (если мой английский не так хорош)

Валидация всегда выполняется по обратным преобразованным данным.

Лучший способ добавить правило проверки до того, как произошло преобразование, – использовать прослушиватель событий или подписчика на FormEvents::PRE_SUBMIT .

Вы получите необработанные данные. Просто примените свою логику проверки здесь, затем используйте метод $event->getForm()->get('xxxx')->addError() чтобы добавить ошибки в соответствующее поле.

Дополнительная информация о подписчиках / слушателях событий:

http://symfony.com/doc/current/components/form/form_events.html#event-listeners http://symfony.com/doc/current/components/form/form_events.html#event-subscribers