我建立了自己的注册表单,当我尝试注册用户时,它没有反应。 FOSUserBundle的一切都很好用。此外,当我使用默认的FOSUserBundle注册表单时,它可以工作并保存我表格中的所有数据。我应该只使用FOSUserBundle的默认表格还是什么?
这是我的表格:
<form action="{{ path('fos_user_registration_register') }}" method="post">
<p>
<input type="text" name="name"/>
</p>
<p>
<input type="text" name="surname" />
</p>
<p>
<input type="text" name="email" />
</p>
<p>
<input type="password" name="password"/>
</p>
<p>
<input type="submit" name="submit" value="Sign up"/>
</p>
</form>
答案 0 :(得分:0)
您需要将注册表单从控制器(如果要覆盖控制器)传递给视图,以使csrf令牌可用。否则表格将无法验证。
为了覆盖FOSUserBundle的标准注册表单,请使用bundle inheritance。
请阅读FOSUserBundle的文档章节Overriding Default FOSUserBundle Forms。
如果您只想将“name”和“surname”添加到用户实体,请添加属性和映射信息,然后将字段添加到overriden表单类。如果您需要进一步更改,请覆盖FOSUserBundle提供的注册表单模板。
答案 1 :(得分:0)
如果需要扩展功能,请阅读documentation如何覆盖注册控制器。或者您只需override标准表单即可添加其他字段。