提交后如何更改表单字段的标签?
示例表格
class TestType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('test', 'number')
->add($options['data']->getId() > 0 ? 'save' : 'add', 'submit')
;
}
public function finishView(FormView $view, FormInterface $form, array $options)
{
if($form->has('add'))
{
$form->remove('add');
$form->add('add', 'submit', array('label' => 'save'));
}
}
public function getName()
{
return '';
}
}
表格完全是用“{{ form(form) }}”生成的。我只使用FormType。如果 data['id'] 低于 1,则有一个添加按钮。如果 id 高于 0,则有一个保存按钮。
第一次提交新表单后,实体被保存,完成页面加载后,我看到“添加”字段而不是“保存”字段。
如果我手动重新加载整个页面,我会看到保存按钮...