Динамические группы проверки в формах Symfony - через слушателя или по умолчанию?

0

У меня есть форма, которая принимает имя пользователя, пароль и category_id (и сохраняет его в сущности Doctrine "Пользователь"). Он создает учетную запись в базе данных, и я использую валидатор, чтобы все было проверено по мере необходимости. Теперь я хотел бы расширить эту форму, чтобы я мог поддерживать логины Facebook и Twitter (и, возможно, другие), поэтому я создал новый объект UserLoginExternal, в котором будет храниться токен и поставщик токенов. Когда пользователь отправляет форму для входа в FB, они отправляют имя пользователя, category_id, токен и поставщиков. Я создал две группы проверки в регистре validator - register и register_without_password, но я не могу найти эффективный способ его переключения в FormType на основе того, представлено ли поле токена или нет.

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

Теги:
validation
forms
facebook

1 ответ

1
Лучший ответ

Если вы хотите сохранить одну форму, вам нужно переключить группы проверки на основе представленных данных. Рамка Symfony предлагает функциональность для использования обратного вызова для этого.

Более подробную информацию об этом вы найдете в документации Symfony: http://symfony.com/doc/current/book/forms.html#groups-based-on-the-submitted-data

Ещё вопросы

Сообщество Overcoder
Наверх
Меню