Недостающее поле в форме Symfony 3 с fosuserbundle - PullRequest
0 голосов
/ 13 мая 2018

Я использую Symfony 3 для создания веб-приложения.Я использую FOSUserBundle.Я хочу, чтобы пользователь зарегистрировался самостоятельно, поэтому я написал собственный шаблон и RegistrationFormType.Моя проблема в том, что поле "email" не правильно заполнено в контроллере.При каждой отправке я получаю следующую ошибку: https://ibb.co/cYkp8y Я использую контроллер по умолчанию от FOSUserBundle.

Мой шаблон:

{{ form_start(form, {'method': 'post', 'action': path('fos_user_registration_register'), 'attr': {'class': 'form-group'}}) }}
                <fieldset>
                    <div class="form-group">
                        {{ form_widget(form.forename, {'attr': {'class': 'form-control col-md-7 col-xs-12', 'placeholder': 'Vorname'}}) }}
                    </div>
                    <div class="form-group">
                        {{ form_widget(form.surname, {'attr': {'class': 'form-control col-md-7 col-xs-12', 'placeholder': 'Nachname'}}) }}
                    </div>
                    <div class="form-group">
                        {{ form_widget(form.email, {'attr': {'class': 'form-control col-md-7 col-xs-12', 'placeholder': 'Email'}}) }}
                    </div>
                    <div class="form-group">
                        {{ form_widget(form.club, {'attr': {'class': 'form-control col-md-7 col-xs-12'}}) }}
                    </div>
                    <div class="form-group">
                        {{ form_widget(form.plainPassword.first, {'attr': {'class': 'form-control col-md-7 col-xs-12', 'placeholder': 'Passwort'}}) }}
                    </div>
                    <div class="form-group">
                        {{ form_widget(form.plainPassword.second, {'attr': {'class': 'form-control col-md-7 col-xs-12', 'placeholder': 'Passwort wiederholen'}}) }}
                    </div>
                    <input class="btn btn-lg btn-success btn-block" type="submit" value="Anmelden">
                </fieldset>
                {% do form.username.setRendered %}
                {{ form_end(form) }}

Мой тип регистрации:

class RegistrationType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('email', EmailType::class)
            ->add('plainPassword', LegacyFormHelper::getType('Symfony\Component\Form\Extension\Core\Type\RepeatedType'), array(
                'type' => LegacyFormHelper::getType('Symfony\Component\Form\Extension\Core\Type\PasswordType'),
                'options' => array('translation_domain' => 'FOSUserBundle'),
                'first_options' => array('label' => 'form.password'),
                'second_options' => array('label' => 'form.password_confirmation'),
                'invalid_message' => 'fos_user.password.mismatch',
            ))
            ->add('forename', TextType::class, array(
                'label' => 'Vorname',
            ))
            ->add('surname', TextType::class, array(
                'label' => 'Nachname'
            ))
            ->add('club', EntityType::class, array(
                'class' => 'AppBundle\Entity\Club',
                'multiple' => false,
                'expanded' => false,
                'label' => 'Vereinszugehörigkeit',
                'required' => false,
            ))
        ;
    }

    public function getParent()
    {
        return 'FOS\UserBundle\Form\Type\RegistrationFormType';

    }

    public function getBlockPrefix()
    {
        return 'app_user_registration';
    }
}

Кто-нибудь знает, почему контроллер не может обрабатывать электронную почту?!

...