Symfony 3.2 表单字段 - 禁用 ID

Symfony 3.2 Form Field - Disabling the ID

是否可以呈现没有 id 的输入字段? 我想在树枝文件中禁用它。

我想要那个,因为我在 chrome 控制台中有一个错误 "non-unique id"。

我使用 Symfony's documentation 进行了研究,我发现了一些应该有效的东西:"Customizing Form Output all in a Single File with Twig"

我要替换的方块是

 {%- block widget_attributes -%}

此块位于 form_div_layout.twig.html

我把这个放在里面 my_form.twig.html {% form_theme 形式 _self %}

{% block form_row %}
    {%- block widget_attributes -%}
     id="{{ id }}" name="{{ full_name }}"
      {%- if disabled %} disabled="disabled"{% endif -%}
      {%- if required %} required="required"{% endif -%}
      {%- for attrname, attrvalue in attr -%}
          {{- " " -}}
          {%- if attrname in ['placeholder', 'title'] -%}
              {{- attrname }}="{{ translation_domain is same as(false) ? attrvalue : attrvalue|trans({}, translation_domain) }}"
          {%- elseif attrvalue is same as(true) -%}
             {{- attrname }}="{{ attrname }}"
          {%- elseif attrvalue is not same as(false) -%}
              {{- attrname }}="{{ attrvalue }}"
          {%- endif -%}
      {%- endfor -%}
  {%- endblock widget_attributes -%}
{% endblock form_row %}


{{ form_start(form) }}

......

我收到错误:

"Variable "full_name" does not exist. "

我不想编辑 form_div_layout.html.twig

我做到了!

目前,我想我找到了解决方案

{% form_theme form _self %}
{% block form_row %}
    {% block input_widget %}
        {% set id = random() %} {# Random number for the id #}
        {{ block('form_widget') }}
    {% endblock input_widget %}
{% endblock form_row %}

{{ form_row(form.my_form) }}

这不是最终的解决方案,因为我不希望 "id" 在输入表单中显示。