从symfony2中的post字段中删除表单名称

daS*_*wie 1 php symfony

我正在尝试使用symfony2来创建Web服务.我希望网络服务的结构和倾听:

使用参数key1 = value和key2 = value2 POST到/ teams/list

出于验证目的,我创建了一个TeamForm对象和一个TeamFormModel来验证数据(使用注释).我遇到的问题是表单正在寻找团队[key1]和团队[key2],而不仅仅是key1和key2来绑定TeamFormModel.

有没有办法配置表单不使用团队[*]?

小智 6

如果您使用的是2.1分支,则可以轻松创建一个空名称的表单.

$form = $this->get('form.factory')->createNamed(
    '',             // the name
    new TeamType(), // the type
    $team           // the data
);
$form->bindRequest($request);
Run Code Online (Sandbox Code Playgroud)

所以它会像你期待的那样工作.

但是如果你使用2.0分支,据我所知,它不受支持,你必须手动进行绑定:

$form = $this->createForm(new TeamType(), $team);
$from->bind($request->request->all());
Run Code Online (Sandbox Code Playgroud)