2017-07-26 1 views
1

Ich habe versucht, dieses Tutorial zu folgen, außer Kraft zu setzen Standard-Controller von fos Benutzer Bundle [Zwingende Standard FOSUserBundle Controller] [1]Einreichen symfony Registersteuerung fosuserbundle funktioniert nicht

Und ich kann Controller ändern, aber wenn ich versuche, Taste einreichen es funktioniert nicht:

<?php 
// src/AppBundle/Controller/RegistrationController.php 

namespace AppBundle\Controller; 

use Symfony\Component\HttpFoundation\RedirectResponse; 
use FOS\UserBundle\Controller\RegistrationController as BaseController; 
use Symfony\Component\HttpFoundation\Request; 

class RegistrationController extends BaseController 
{ 
    public function registerAction(Request $request) 
    { 
     /** @var $formFactory FactoryInterface */ 
     $formFactory = $this->get('fos_user.registration.form.factory'); 
     /** @var $userManager UserManagerInterface */ 
     $userManager = $this->get('fos_user.user_manager'); 
     /** @var $dispatcher EventDispatcherInterface */ 
     $dispatcher = $this->get('event_dispatcher'); 

     $user = $userManager->createUser(); 
     $user->setEnabled(true); 

     $event = new GetResponseUserEvent($user, $request); 
     $dispatcher->dispatch(FOSUserEvents::REGISTRATION_INITIALIZE, $event); 
var_dump('prova'); 

     if (null !== $event->getResponse()) { 
      return $event->getResponse(); 
     } 

    $form = $this->createForm(RegistrationType::class, $user, [ 
    'method' => 'POST', 
]); 

    //$form = $formFactory->createForm(); 
    //$form->setData($user); 

    $form->handleRequest($request); 

    if ($form->isSubmitted()) { 
     var_dump($form); 
     if ($form->isValid()) { 
      var_dump($form); 
       } 
     } 

     return $this->render('@FOSUser/Registration/register.html.twig', array(
      'form' => $form->createView(), 
     )); 
    } 
} 

die var_dump, bevor die Arbeit einreichen, aber die var_dump innerhalb

if ($form->isSubmitted()) { 
      if ($form->isValid()) { 

funktioniert nicht. Ich glaube, dass submit Logik in einem anderen Code ist, aber ich verstehe nicht, wie ich es ändern kann.

Ich verstehe nicht, wie es möglich ist. Bitte hilf mir ?

Antwort

0

Sie legen einen formType nicht auf Ihrem Formular fest, also hat er nichts zu handhaben.

Hier ist ein einfaches Beispiel:

$form = $this->createForm(YourFormType::class, $user, [ 
     'method' => 'POST', 
]); 

Viel Glück! :)

+0

danke für die antwort ...... ich ändere den code mit diesem aber immer noch nicht ... $ form = $ this-> createForm (RegistrationType :: class, $ benutzer, [ 'methode '=>' POST ', ]); // $ form = $ formFactory-> createForm(); // $ form-> setData ($ user); $ form-> handleRequest ($ Anfrage); if ($ form-> isSubmitted()) { var_dump ($ form); if ($ form-> isValid()) { var_dump ($ form); –

+0

ok, können Sie die Anfrage Methode pls überprüfen? var_dump ($ Anfrage-> getMethod()); – fireaxe

+0

Sie haben Recht! Ich weiß nicht warum, aber ist 'GET' Methode –

Verwandte Themen