createForm(UserType::class, $user); // 2) handle the submit (will only happen on POST) $form->handleRequest($request); var_dump($form->isValid()); if ($form->isSubmitted() && $form->isValid()) { // 3) Encode the password (you could also do this via Doctrine listener) $password = $this->get('security.password_encoder') ->encodePassword($user, $user->getPlainPassword()); $user->setPassword($password); // 4) save the User! $em = $this->getDoctrine()->getManager(); $em->persist($user); $em->flush(); // ... do any other work - like sending them an email, etc // maybe set a "flash" success message for the user return $this->redirectToRoute('homepage'); } return $this->render( 'registration/register.html.twig', array('form' => $form->createView()) ); } }