如何使用Symfony formbuilder设置表单名称?

时间:2019-03-20 12:05:10

标签: php symfony oop formbuilder

我正在使用Symfony formbuilder创建一个表单:

$options =  [
     'attr'   => array('class' => 'form-control',),
     'data' => $data,
       ];

 $formBuilder->add($name, $class, $options);

当我现在查看表单时,该字段如下所示:

<input name="form[color]" value="#c651a8" class="form-control">

但是我想将form[color]替换为12345。我想要得到的结果是:

<input name="12345" value="#c651a8" class="form-control">

我尝试了不同的事情,例如:

  $options =  [
           'attr'   => array('class' => 'form-control','name' => '12345',),
           'data' => $data,
           ];

  $options =  [
           'attr'   => array('class' => 'form-control'),
           'name' => '12345',
           'data' => $data,
           ];

但是我找不到解决方法。

1 个答案:

答案 0 :(得分:2)

如果您使用FormType类来简化getName()方法:

public function getName()
{
    return null;
}

如果您通过form factory服务针对以下内容构建表单:

$formBuilder = $this->get('form.factory')
    ->createNamedBuilder(null);

$options =  [
    'attr'   => array('class' => 'form-control',),
    'data' => $data,
];

$formBuilder->add('12345', $class, $options);