使用表单生成器symfony2创建数组输入字段

mar*_*oub 7 php formbuilder symfony

我在使用Symfony2中的表单构建器时遇到了麻烦.确切地说,我需要输入字段是html数组,但我无法使用createFormBuilder-> add创建它.这是我尝试过的:

$attributesForm = $this->createFormBuilder()
        ->add('attribute[0]', 'text') ...
Run Code Online (Sandbox Code Playgroud)

依此类推,但我得到以下异常:

名称"attribute [0]"包含非法字符.名称应以字母,>数字或下划线开头,并且只包含字母,数字,数字,下划线("_"),连字符>(" - ")和冒号(":").

有没有好的解决方案,或者我必须手动创建字段?

提前致谢!

编辑:进一步澄清这一点......我希望生成这样的东西:

<div id="msoft_adminbundle_offertype">
<div>Name <input type="text" name="name"></div>
<div>...</div>
<div>Attribute 0 <input type="text" name="attribute[0]"></div>
<div>Attribute 1 <input type="text" name="attribute[1]"></div>
<div>Attribute 3 <input type="text" name="attribute[3]"></div>
<ul>
    </ul>
<p>
    <button type="submit">Edit</button>
</p>
Run Code Online (Sandbox Code Playgroud)

救命?

Ber*_*sek 15

如前面的答案所述,使用集合类型或嵌套表单,其中每个字段对应于数组的一个条目.如果您不能/不想这样做,您可以执行以下操作:

->add('attribute_0', 'text', array(
    'property_path' => 'attribute[0]',
))
Run Code Online (Sandbox Code Playgroud)


Mat*_*ijk 7

您可以使用'collection'字段类型创建输入字段数组.

有关如何使用它的文档可以在这里找到:

收集文件

如果这还不够清楚,或者您仍有疑问,我将很乐意帮助您.