好的, Symfony Forms 一直是我理解的地狱,但现在我决定了解它们是如何工作的!我刚刚开始,已经出了问题,我无法弄清楚如何解决。
我有一个带有简单文字输入的随机表单。问题是,我想在其中禁用浏览器自动完成功能。 (添加autocomplete="off"
属性)。
所以,我只是将默认的form_widget_simple
块复制到我的模板中:
{% form_theme form _self %}
{% block form_widget_simple %}
{% spaceless %}
{% set type = type|default('text') %}
<input type="{{ type }}" {{ block('widget_attributes') }} {% if value is not empty %}value="{{ value }}" {% endif %}>
{% endspaceless %}
{% endblock form_widget_simple %}
问题是:尝试渲染模板而不更改任何内容时出现此错误:
变量“值”在LINE LINE HERE
上的FILE / PATH / HERE中不存在
看起来它正在模板的上下文中搜索value
变量,该变量不存在而不是使用表单字段的值。
我应该将{{ value }}
更改为什么?
答案 0 :(得分:0)
IMO你在错误的地方看。如果要禁用表单自动完成,则应在表单标记中添加autocomplete = off,而不是输入标记。
如果要将自定义属性添加到任何输入元素,则不必使用表单主题,而是在表单类型类中使用attr键。