1
動作しない私は、[1]提出symfonyのレジスタコントローラfosuserbundleが
[デフォルトFOSUserBundleコントローラーのオーバーライド] FOSユーザーバンドルのデフォルトコントローラをオーバーライドするには、このチュートリアルに従うことを試みたと私は、コントローラを変更することができますが、私は、ボタンを提出しようとすると、それは動作しません:
<?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(),
));
}
}
のvar_dumpを仕事を提出したが
if ($form->isSubmitted()) {
if ($form->isValid()) {
内部のvar_dumpが動作しないの前に。私はロジックを提出することは別のコードにあると信じていますが、私はそれをどのように変更できるのか分かりません。
どのように可能かわかりません。私を助けてください ?
ありがとうございました...私はこれでコードを変更しますが、まだ動作しません... $ form = $ this-> createForm(RegistrationType :: class、$ user、[ 'メソッド'=>' POST '、 ]); // $ form = $ formFactory-> createForm(); // $ form-> setData($ user); $ form-> handleRequest($ request); if($ form-> isSubmitted()){ var_dump($ form); if($ form-> isValid()){ var_dump($ form); –
OK、リクエスト方法plsを確認できますか? var_dump($ request-> getMethod()); – fireaxe
あなたは正しいです!なぜ私は知りませんが、「手に入れて」方法です –