如何在树枝模板中隐藏表单字段?

Got*_*bel 5 forms hidden-field symfony

我有一个包含两个TextType字段的Symfony表单.如果某个检查评估为false,我不想显示input字段但输出字段的静态内容,hidden而是将表单字段包含为字段.我怎样才能做到这一点?

MaP*_*PeR 8

您可以通过假装它已经呈现来阻止表单字段的任何输出:

{{ form_start(form) }}
    {% if someValue == true %}
        {% do form.fieldName.setRendered() %}
    {% endif %}
{{ form_end(form) }}
Run Code Online (Sandbox Code Playgroud)

  • 这就是我一直在寻找的!谢谢 (2认同)

b3d*_*3da 7

您可以HiddenType在模板中使用或隐藏字段:

{{ form_start(form) }}
    {% if someValue == true %}
        {{ form_widget(form.fieldName) }}
    {% else %}
        {{ form_widget(form.fieldName, { 'attr': {'class': 'hidden-row'} }) }}
    {% endif %}
    {# other fields... #}
{{ form_end(form) }}
Run Code Online (Sandbox Code Playgroud)

或者您可以使用FormEvents::PRE_SET_DATAFormType中的FormEvent . (DOC)