Я рассмотрел множество соответствующих вопросов для этого и не могу найти тот, который соответствует моим потребностям. Ответы, которые наиболее близки к решению моей проблемы, включают добавление выбора в список выбора с использованием событий предварительной привязки. Проблема с этим заключается в том, что я не могу понять, какие варианты пользователь добавляет.
На переднем конце у меня есть javascript/jquery, которые добавляют опции в поле выбора на основе ввода пользователем. Чтобы это было просто, если пользователь вводит в hello world
в поле ввода и параметр, то устанавливается в поле выбора со значением hello-world
.
Информация, которую пользователь вводит, не будет сохраняться в столбце сопоставленного объекта, он используется только для целей отображения, а затем уничтожается. Однако мне нужна вся остальная форма проверки.
Также эта форма генерируется динамически в контроллере, используя:
$this->get('form.factory')->createNamedBuilder();
TL;DR: мне нужно отключить проверку в одном поле выбора, сгенерированном с помощью createNamedBuilder, с фабрики форм
Вы попробовали что-то вроде этого:
$req = $this->getRequest();
$submittedOptions = array();
if ( $req->isMethod("POST")){
$submittedOptions = $req->request->get('name_of_the_choice_field');
}
$this->get('form.factory')->createNamedBuilder()
....
->add('name_of_the_choice_field', 'choice, array(... , 'choices' => $submittdOptions, ... )
....