Change Symfony2 FOSUserBundle registration form POST parameters?

和自甴很熟 提交于 2019-12-12 03:15:44

问题


This is how the registration form of FOSUserBundle looks like:

<form action="/Symfony/web/signup/" method="POST" class="fos_user_registration_register">
<div id="fos_user_registration_form">
    <input type="hidden" id="fos_user_registration_form__token" name="fos_user_registration_form[_token]" value="c248f3ef17b082803ae9948c03d137c380f0dc24"/>
    <div>
        <label for="fos_user_registration_form_username">Username:</label><input type="text" id="fos_user_registration_form_username" name="fos_user_registration_form[username]" required="required" maxlength="255" pattern=".{2,255}"/>
    </div>
    <div>
        <label for="fos_user_registration_form_email">Email:</label><input type="email" id="fos_user_registration_form_email" name="fos_user_registration_form[email]" required="required"/>
    </div>
    <div>
        <label for="fos_user_registration_form_plainPassword_first">Password:</label><input type="password" id="fos_user_registration_form_plainPassword_first" name="fos_user_registration_form[plainPassword][first]" required="required"/>
    </div>
    <div>
        <label for="fos_user_registration_form_plainPassword_second">Verification:</label><input type="password" id="fos_user_registration_form_plainPassword_second" name="fos_user_registration_form[plainPassword][second]" required="required"/>
    </div>
</div>
<div>
    <input type="submit" value="Register"/>
</div>

So, as you can see,

<input type="email" id="fos_user_registration_form_email" name="fos_user_registration_form[email]"

MAIN QUESTION: How can I change the id to something like id="email" and also the name to something like name="email"? And it has to work, obviously.

Here you can see: https://github.com/FriendsOfSymfony/FOSUserBundle/blob/master/Resources/views/Registration/register_content.html.twig {{ form_widget(form) }}, but I can't trace this to where it goes. I also presume the RegistrationFormHandler would have to be edited to support these parameters.


回答1:


Alter buildForm function in RegistrationFormType class:

# FOSUserBundle/Form/Type/RegistrationFormType.php

class RegistrationController extends ContainerAware
{

   // ...

   public function getName()
   {
       return 'fos_user_registration';
   }

}

Change fos_user_registration to whatever you want.



来源:https://stackoverflow.com/questions/8956835/change-symfony2-fosuserbundle-registration-form-post-parameters

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!