2014-01-27 5 views
0

В настоящее время я использую validation.yml для проверки. Все работает нормально. Но мне нужно добавить правило проверки на конкретное условие.Symfony2 - динамическое добавление правила проверки в контроллер

У меня есть переключателе для выбора type и текстового поля для вводаother_type. Мне нужно сделать это текстовое поле обязательным если выбрано type is other.

Как это подтвердить в Контроллер после отправки формы?

+2

Эй, @ Сaravanan, я спросил кое-что подобное некоторое время назад, см. [Использование условного оператора при создании формы] (http://stackoverflow.com/questions/11634377/use-a-conditional-statement-when-creating -форма). Ответ от Бернхарда Шуссека, который является мастером компонента формы Symfony. – Mick

+0

Спасибо за информацию, попробуем это решение. – Saravanan

ответ

0

Если у меня есть объект, который имеет тип свойства и другое свойство other_type, возможно, я бы решил проблему, создав ограничение класса. Вы можете найти статью поваренной книги об этом here. Эти ограничения классов очень полезны для описанной вами ситуации, так как в методе проверки правильности ConstraintValidator вы можете легко проверить значение свойства type, а в случае, если оно установлено в другое, вы можете проверить свойство other_type. Если проверка указывает, что объект недействителен, может использоваться метод addViolationAt контекста проверки, чтобы добавить сообщение об ошибке в свойство other_type объекта. Наконец, вы можете легко установить свой валидатор, используя yml для своей сущности.

Смежные вопросы