Редактировать: Хорошо, кажется, я сначала неправильно понял проблему. Я думал, что вы хотели скрыть поле, которое было в вашей форме, что можно сделать с помощью
{% do form.myField.setRendered %}
Теперь, когда я понимаю проблему, я считаю, что это происходит из-за того, как печатается ваше поле.
В поле формы есть 3 основных компонента.
Label: form_label(form.field)
Widget: form_widget(form.field)
Errors: form_errors(form.field)
Существует возможность печати всех трех компонентов одновременно. Функция является
form_row(form.field)
Вот виновник: form_row (). Поскольку он обычно печатает 3 разных компонента, он добавляет к нему div!
Далее, посмотрев на тип формы и увидев 'label' => false
, я могу сказать, что этикетка сначала печаталась с использованием form_row.
Чтобы избежать необходимости определять 'label'=>false
каждый раз, вы можете просто напечатать поле формы следующим образом:
{{ form_widget(form_record.title, {'attr':{'class':"form-control", 'placeholder':"Description"|trans, 'title':"Description"|trans }}) }}
{{ form_errors(form_record.title) }}
Вы можете просто пропустить {{form_label(form_record.title)}}
, и он не будет печататься.
С другой стороны, я также заметил кое-что, что может быть в порядке, но в данном примере это не так.
В ветке, которой вы поделились, форма начинается с {{ form_start(form) }}
, но тогда поле равно {{ form_row(form_record.title)}}
.
Откуда я родом form_record
здесь не определено. Я бы использовал {{ form_row(form.title)}}
В любом случае, объяснение разницы между form_row и form_widget можно найти здесь: Symfony различия форм между строкой и виджетом
Наслаждайтесь !