我用 Symfony2 FormBuilder 创建了一个表单,我想禁用编辑视图中的一个字段。我实际上是用包装器(display:none
)隐藏它,但我想知道是否有更好的方法来做到这一点。我的代码如下所示:
实体类型
public function buildForm(FormBuilderInterface $builder, array $options) {
$builder->add('fieldToDisabledInEditView');
// ...
实体控制器
public function newAction() {
$entity = new Entity;
$form = $this->createForm(new EntityType, $entity);
// ...
}
public function editAction() {
$entity = new Entity;
$form = $this->createForm(new EntityType, $entity);
// ...
}
新(树枝)模板
<form>
{{ form_row(form.fieldToDisabledInEditView) }}
{# ... #}
编辑(树枝)模板
<form>
<span class="theValueOfTheHiddenField">{{ entity.fieldToDisabledInEditView }}</span>
<div style="display:none">
{{ form_row(form.fieldToDisabledInEditView) }}
</div>
{# ... #}