如何更改使用表单工厂创建的表单中输入的默认名称属性?
这是我正在使用的简单表单的示例:
$form = $app['form.factory']->createBuilder('form')
->add('image','file)
->add('longitude', 'hidden')
->add('latitude', 'hidden')
->getForm();
我已尝试将属性放入数组而未成功更改名称,但使用此方法我可以更改标签或类等:
->add('latitude', 'text', array('attr'=>array("name"=>'newname')))
这似乎是一个非常简单的请求,可以更改输入的名称,所以你会想到有一个明显的方法来做到这一点。使用上面的代码,它仍然会将名称显示为name=form[latitude]
答案 0 :(得分:0)
使用createNamedBuilder而不是createBuilder来覆盖字段名称。该名称将是add function中的第一个参数。
$personal_form = $app['form.factory']->createNamedBuilder(null, 'form')
->add('name', 'text', array(
'label' => 'Nombre',
'data' => 'Nombre'
))
->add('surname', 'text', array(
'label' => 'Apellidos',
'data' => 'Apellidos'
))
->add('email', 'email', array(
'label' => 'E-mail',
'data' => 'E-mail'
))
->getForm();