Я использую Symfony2 и CraueFormFlowBundle для создания многошаговой формы.Все идет хорошо, за исключением моего повторного поля электронной почты.Я не могу ради себя найти, как поставить ярлыки, которые хочу.Я отрисовываю форму самостоятельно в представлении Twig с помощью form_widget (...) и пишу метки.Я позиционирую все, что хочет мой клиент.Теперь он хочет видеть метки электронной почты как «E-mail *» и «Confirm e-mail *» (звездочки, поскольку они необходимы).Если я отрисовываю повторяющиеся элементы с помощью form_row (), ошибки больше не отображаются в форме (но у меня есть контроль над метками, оснастка).Единственный способ отображения ошибок (не спрашивайте меня, почему) - это использование form_widget (form.giver.email), который указывает на весь объект повторяющегося элемента.Проблема в том, что использование form_widget для рендеринга всего повторяющегося элемента не дает мне контроля над метками.
Рендеринг всего повторяющегося элемента приводит к печати меток с использованием параметров «first_name» и «second_name».Я не могу поставить заглавные буквы, ни тире, ни звезды в этих параметрах по понятным причинам.Если я пытаюсь установить метку в массиве параметров, эта метка передается в оба поля, как описано в документе Symfony2 ...
Я пытался печатать, используя ".first" и ".second" в ветке, но я получаю сообщение об ошибке, утверждающее, что они не существуют в FormView.
Теперь все, что я хочу, - это возможность устанавливать две метки отдельно!Вот мой текущий код:
$builder->add('email', 'repeated', array(
'type' => 'email',
'first_name' => 'email',
'second_name' => 'confirm',
'invalid_message' => 'The e-mails you provided did not match.',
'error_bubbling' => false
));
Это печатает метки как «электронная почта» и «подтвердить».Здесь используется массив «options»:
$builder->add('email', 'repeated', array(
'type' => 'email',
'first_name' => 'email',
'second_name' => 'confirm',
'invalid_message' => 'The e-mails you provided did not match.',
'error_bubbling' => false,
'options' => array(
'label' => "TESTTT"
),
));
Это выведет метку «TESTTT» в оба повторяющихся поля.Что я могу с этим поделать?Как упоминалось выше, использование form_row () не отображает ошибки при отправке формы, если электронные письма не совпадают или если они пустые.Поэтому я вынужден использовать form_widget () и отображать весь повторяющийся объект.
Заранее спасибо за ваше время.