报名表[FOSUserBundle]

时间:2013-08-01 14:57:58

标签: symfony fosuserbundle

我建立了自己的注册表单,当我尝试注册用户时,它没有反应。 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>

2 个答案:

答案 0 :(得分:0)

您需要将注册表单从控制器(如果要覆盖控制器)传递给视图,以使csrf令牌可用。否则表格将无法验证。

为了覆盖FOSUserBundle的标准注册表单,请使用bundle inheritance

请阅读FOSUserBundle的文档章节Overriding Default FOSUserBundle Forms

如果您只想将“name”和“surname”添加到用户实体,请添加属性和映射信息,然后将字段添加到overriden表单类。如果您需要进一步更改,请覆盖FOSUserBundle提供的注册表单模板。

答案 1 :(得分:0)

如果需要扩展功能,请阅读documentation如何覆盖注册控制器。或者您只需override标准表单即可添加其他字段。