我在Symfony2中构建一个表单,对于某些行,我想将每个窗口小部件的值的格式化版本作为title
属性传递,然后我可以在另一个div
中显示该属性。 如果我没有设置格式化版本,我只需将实际的非格式化值插入到div
中。在Symfony2 FormBuilder中获取变量值
理想的情况下,我的树枝代码可能是这样的:
{% block form_row %}
{% spaceless %}
<div class="field-display-value">
{% if attr['title'] is defined %}
{{ attr['title'] }}
{% else %}
{{ form.vars.value }}
{% endif %}
</div>
<div class="field-widget">
{{ form_widget(form) }}
</div>
{% endspaceless %}
{% endblock form_row %}
但我不知道我怎么能在formBuilder访问控件的值。理想情况下,我想是这样的:
$builder->add('some_field', 'text', array(
'attr' => array('title' => someFormattingFunction(this.widget.value),
));
显然,this.widget.value
伪不起作用。
不知道是否有可能,但我不想诉诸JavaScript的疯狂。 任何想法?
也许你应该使用[数据转换器](http://symfony.com/doc/current/cookbook/form/data_transformers.html)? – sergekv