Symfony3 Почему переменная «метка» из form.vars пуста

Я хотел бы иметь доступ к переменной "метка" в

form.postalCode.vars.label

У меня есть объект формы: «форма», и я сделал дамп в ветке:

{{ dump(form.postalCode.vars) }}

Это результат:

array:24 [▼
  "value" => ""
  "attr" => array:1 [▶]
  "form" => FormView {#771 ▶}
  "id" => "appbundle_test_name"
  "name" => "name"
  "full_name" => "appbundle_test[name]"
  "disabled" => false
  "label" => null
  "label_format" => null
  "multipart" => false
  "block_prefixes" => array:3 [▶]
  "unique_block_prefix" => "_appbundle_test_name"
  "translation_domain" => null
  "cache_key" => "_appbundle_test_name_text"
  "errors" => FormErrorIterator {#765 ▶}
  "valid" => true
  "data" => null
  "required" => true
  "size" => null
  "label_attr" => []
  "compound" => false
  "method" => "POST"
  "action" => ""
  "submitted" => false
]

На основе этой документации: https://symfony.com/doc/3.4/reference/forms/twig_reference.html#twig-reference-form-variables Используя переменную «метка», я должен получить доступ к заголовку метки. Мой вопрос в том, почему эта переменная пуста. Я проверил каждое из своих полей в своей форме, и каждая метка этого поля пуста... Но когда я генерирую метку с помощью form_label -> метка создается без проблем.

Покажите нам код FormType, который загружает эту форму. Тогда можно ответить на этот вопрос. По-моему, вы не установили метку в FormType.

rebru 25.02.2019 10:06

Вот ваш ответ: вы не установили метку, поэтому vars.label пусто и автоматически генерируется (специально) внутри блока меток, например: {{ vars.label ?: generate(vars.name) }}

emix 25.02.2019 12:23
JS - События опций формы
JS - События опций формы
В продолжение предыдущей статьи CSS - стили, связанные с вводом формы , в этой статье мы будем использовать JS для взаимодействия с формами, на этот...
CSS - Стили, связанные с вводом формы
CSS - Стили, связанные с вводом формы
Общими стилями ввода для форм являются Input (включая Text, Radio, checkbox), Select и Textarea, из которых Input относительно прост, поэтому в этой...
Создание многостраничной формы заявления о приеме на работу с помощью Angular
Создание многостраничной формы заявления о приеме на работу с помощью Angular
Наличие на корпоративном сайте форм заявлений о приеме на работу, или "трудовых анкет", экономит время и деньги как для соискателей, так и для...
0
2
201
1

Ответы 1

Я думаю, что вам нужно сначала добавить метку к полю postalCode в конструкторе форм, что-то вроде этого


    $builder = $this->add('postalCode', TextType::class, ['label' => 'Post code']);

Другие вопросы по теме