Php 表格SYMFONY 5提交时未发生任何情况

Php 表格SYMFONY 5提交时未发生任何情况,php,forms,doctrine-orm,symfony5,Php,Forms,Doctrine Orm,Symfony5,我确实用这个表单类型制作了一个表单: <?php namespace App\Form; use App\Entity\Snc; use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\Extension\Core\Type\{ChoiceType, CollectionType, DateType, IntegerType, TextareaType, TextType}; use Symfony

我确实用这个表单类型制作了一个表单:

<?php

namespace App\Form;

use App\Entity\Snc;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\{ChoiceType, CollectionType, DateType, IntegerType,
    TextareaType, TextType};
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;

class SncType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('en_tete', TextareaType::class,       [ 'attr' => ['name' => 'entete', 'class' => 'bg-light',
                                                                     'placeholder' => 'Saississez votre en-tête', 'rows' => '14' ],
                                                                     'required' => false] )
            ->add('date_acte', DateType::class,         [ 'widget' => 'single_text', 'attr' => ['type' => 'date', 'placeholder' => 'jj/mm/aaaa']])
            ->add('forme', ChoiceType::class,           [ 'expanded' => false,
                                                                      'multiple' => false,
                                                                      'choices' => ['SNC' => 'SNC']])
            ->add('denomination', TextType::class,      [ 'attr' => ['onkeyup' => 'this.value = this.value.toUpperCase()',
                                                                      'placeholder' => 'Nom dans les statuts, en MAJUSCULE'],
                                                                      'label_attr' => ['type' => 'text']])
            ->add('adresse', TextType::class,           [ 'attr' => ['type' => 'text',
                                                                      'name' => 'adresse1', 'placeholder' => 'Adresse de la société']])
            ->add('adresse_suite', TextType::class,     [ 'attr' => ['type' => 'text', 'name' => 'adresse2','class' => 'bg-light',
                                                                      'placeholder' => 'Complément d\'adresse'],
                                                                      'required' => false])
            ->add('code_postal', TextType::class,       [ 'attr' => ['class' => 'form-control', 'type' => 'text',
                                                                      'name' => 'Code postal',
                                                                      'placeholder' => 'ex: 75001']])
            ->add('ville', TextType::class,             [ 'attr' => ['type' => 'text', 'name' => 'ville',
                                                                      'placeholder' => 'ex: Paris']])
            ->add('greffe', TextType::class,            [ 'attr' => ['type' => 'text', 'name' => 'greffe',
                                                                     'placeholder' => 'Greffe concerné']])
            ->add('capital', IntegerType::class,        [ 'attr' => ['type' => 'number', 'name' => 'Capital',
                                                                      'placeholder' => 'Capital en euro(s)', 'min' => '1']])
            ->add('duree', IntegerType::class,          [ 'attr' => ['type' => 'number',
                                                                      'name' => 'Durée', 'min' => '1', 'placeholder' => 'En années, ex: 99', 'value' => 99]])
            ->add('objet', TextareaType::class,         [ 'attr' => ['type' => 'text', 'name' => 'Objet',
                                                                      'placeholder' => 'Objet tel qu\'il apparait dans les statuts' ]])
            ->add('gerants', CollectionType::class,     [ 'entry_type' => GerantsType::class,
                                                                     'allow_add'     => true,
                                                                     'allow_delete'  => true,
                                                                     'by_reference'  => false,
                                                                     'prototype'     => true,
                                                                     'delete_empty'  => true,])
            ->add('gerants_personne_morale', CollectionType::class, [ 'entry_type' => GerantsPersonneMoraleType::class,
                                                                                 'allow_add'     => true,
                                                                                 'allow_delete'  => true,
                                                                                 'by_reference'  => false,
                                                                                 'prototype'     => true,
                                                                                 'delete_empty'  => true,])
            ->add( 'associes', CollectionType::class,   [ 'entry_type' => AssociesType::class,
                                                                     'allow_add'     => true,
                                                                     'allow_delete'  => true,
                                                                     'by_reference'  => false,
                                                                     'prototype'     => true,
                                                                     'delete_empty'  => true,])
            ->add('associes_personne_morale', CollectionType::class, [ 'entry_type' => AssociesPersonneMoraleType::class,
                                                                                  'allow_add'     => true,
                                                                                  'allow_delete'  => true,
                                                                                  'by_reference'  => false,
                                                                                  'prototype'     => true,
                                                                                  'delete_empty'  => true,])
            ->add('commissaire_aux_comptes', CollectionType::class,  [ 'entry_type' => CommissaireAuxComptesType::class,
                                                                                  'allow_add'     => true,
                                                                                  'allow_delete'  => true,
                                                                                  'by_reference'  => false,
                                                                                  'prototype'     => true,
                                                                                  'delete_empty'  => true,])
            ->add('commissaire_aux_comptes_personne_morale', CollectionType::class,  [ 'entry_type' => CommissaireAuxComptesMoraleType::class,
                                                                                                  'allow_add'     => true,
                                                                                                  'allow_delete'  => true,
                                                                                                  'by_reference'  => false,
                                                                                                  'prototype'     => true,
                                                                                                  'delete_empty'  => true,])
            ->add('commissaire_aux_comptes_suppleant', CollectionType::class,  [ 'entry_type'    => CommissaireAuxComptesSuppleantType::class,
                                                                                            'allow_add'     => true,
                                                                                            'allow_delete'  => true,
                                                                                            'by_reference'  => false,
                                                                                            'prototype'     => true,
                                                                                            'delete_empty'  => true,])
            ->add('commissaire_aux_comptes_suppleant_personne_morale', CollectionType::class, ['entry_type'    => CommissaireAuxComptesSuppleantMoraleType::class,
                                                                                                          'allow_add'     => true,
                                                                                                          'allow_delete'  => true,
                                                                                                          'by_reference'  => false,
                                                                                                          'prototype'     => true,
                                                                                                          'delete_empty'  => true,])
        ;
    }

    public function configureOptions(OptionsResolver $resolver)
    {
        $resolver->setDefaults([
            'data_class' => Snc::class,
        ]);
    }
}

<?php


namespace App\Controller;


use App\Entity\Commande;
use App\Entity\Snc;
use App\Form\{AccountType, CommandeType, SncType};
use App\Security\LoginFormAuthenticator;
use App\Service\{CustomMailer, UserAuto};
use Doctrine\ORM\EntityManagerInterface;
use Knp\Snappy\Pdf;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\ParamConverter;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Security;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\{RedirectResponse, Request, Response};
use Symfony\Component\Mailer\MailerInterface;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\Security\Core\Encoder\UserPasswordEncoderInterface;
use Symfony\Component\Security\Guard\GuardAuthenticatorHandler;
use Twig\Environment;
use Twig\Error\{LoaderError, RuntimeError, SyntaxError};


class SncController extends AbstractController
{
    // CRUD SNC

    /**
     * @var Environment
     */
    private $twig;
    private $pdf;

    /**
     * EurlSciSelarlScController constructor.
     * @param Environment $twig
     * @param Pdf $pdf
     */
    public function __construct(Environment $twig, Pdf $pdf)
    {
        $this->twig = $twig;
        $this->pdf = $pdf;
    }


    // CREATE

    /**
     * @Route("/snc_creation", name="snc_creation")
     * @param Request $request
     * @param EntityManagerInterface $manager
     * @param UserPasswordEncoderInterface $encoder
     * @param MailerInterface $mailer
     * @param GuardAuthenticatorHandler $guardHandler
     * @param LoginFormAuthenticator $authenticator
     * @return RedirectResponse|Response
     */
    public function snc_creation(Request $request, EntityManagerInterface $manager, UserPasswordEncoderInterface $encoder, MailerInterface $mailer, GuardAuthenticatorHandler $guardHandler, LoginFormAuthenticator $authenticator)
    {
        $snc = new Snc();

        $user = $this->getUser();

        $form = $this->createForm(SncType::class, $snc);
        $form->handleRequest($request);

        $formUser = $this->createForm(AccountType::class, $user);
        $formUser->handleRequest($request);

        if($form->isSubmitted() && $form->isValid())
        {
            // User account created if no existing account found

            if($user == null)
            {
                $userAuto = new UserAuto();
                $userAuto->userAuto($request, $encoder, $guardHandler, $authenticator, $manager, $formUser);

                // Get the user
                $user = $userAuto->getUser();
                $mdp  = $userAuto->getMdp();

                //Sending him an e-mail with his credentials in order to let him change pw
                $customMailer = new CustomMailer();
                $customMailer->automaticAccount($user, $mdp, $mailer);
            }

            $snc->setUser($user);
            $snc->setCreatedAt(new \DateTime('now'));

            $manager->persist($snc);
            $manager->flush();

            ///////////////////////////////////// MAKING COMMANDE
            /// RETRIEVING PRIME DATAS FOR ANNONCE
            $entete       = $snc->getEnTete();
            $forme        = $snc->getForme();
            $denomination = $snc->getDenomination();
            $date_acte    = $snc->getDateActe();
            $date_acte    = date_format($date_acte, 'd-m-Y');
            $annonce      = $entete. "\n". "Par Acte la " . $forme. " " . $denomination ." a été constitué le ". $date_acte . "...";

            /////////////////////////////////////INSTANCE OF COMMANDE AND FLUSHING
            //
            $commande     = new Commande();
            $commande->setUser($user);
            $commande->setAEffectuer(0);
            $commande->setPayee(0);
            $commande->setCreatedAt(new \DateTime('now'));
            $commande->setSnc($snc);
            $commande->setAnnonce($annonce);
            $commande->setPrix(20); // Temporary price
            $manager->persist($commande);
            $manager->flush();

            //////////////////////////////////// FLASH MESSAGE IN FLASHBAG

            $this->addFlash(

                'success', "Félicitations ! Veuilez vérifier l'annonce puis procédez au <strong> paiement</strong>."
            );

            return $this->redirectToRoute('snc_visualiser', [
                'snc'          => $snc->getId(),
                'denomination' => $snc->getDenomination(),
                'commande'     => $commande->getId(),
            ]);
        }

        if(!$user) {
            $this->addFlash(
                'info',
                'Si vous possédez un compte chez Modèle Annonce Légale, veuillez-vous connecter avant de continuer'
            );
        }
        return $this->render('snc/snc_creer.html.twig', [
            'form'      => $form->createView(),
            'form_user' => $formUser->createView(),
        ]);
    }
...
}