#php #forms #symfony
#php #формы #symfony
Вопрос:
У меня есть такое поле типа выбора
'Answers',
ChoiceType::class,
[
'choices' => [
'foo' => true,
'fooBar' => false,
'fooB' => false,
],
'expanded' => true
]
)
Как я могу проверить это в моем контроллере?
После того, как я выберу foo
, например. Здесь
if ($form->isSubmitted() amp;amp; $form->isValid()) {
}
Комментарии:
1. Вы хотите проверить, когда форма отправляется, если установлен флажок foo ?
2. Не могли бы вы уточнить, чего вы хотите?
3. Я не понимаю, что вы подразумеваете под «проверкой»
4. Я просто хочу вывести текст, если отправлен правильный вариант из вариантов
Ответ №1:
Вы можете получить доступ к своей переменной выбора следующим образом :
Если вы используете Request запрос в параметре вашей функции, вы можете использовать
$choices = $request->get('yourFormName')['choices'];
Или в вашем случае, используя вашу переменную $form
$choix = $form->get('choices')->getData();
Поэтому используйте это, чтобы проверить, соответствует ли результат тому, что вы хотите, или нет.
Комментарии:
1. Привет, я получаю null в результате вашего первого ответа.
2. Действительно, это можно исправить, вы можете использовать $request-> request-> all(), чтобы посмотреть, как выглядит параметр, и использовать его, как и любой массив