Bonjour,
Je créé un formulaire d'inscription à la main, donc à la fin de mon controller je passe un tableau en param du render, ce qui fait que dans ma vue twig associée,
le process ne supporte pas le {{ form_start(form) }} ni le {{ form_end(form) }} ou encore le {{ form_widget(form) }}.
Si j'enlève ces balises et je met seulement {{ form_row(form.username) }} par exemple, cela fonctionne mais le formulaire n'est pas traité.
Je souhaiterai pouvoir construire mon formulaire normalement, avec un {{ form_start(form) }} et un {{ form_end(form) }}.
Erreur exacte :Controller :An exception has been thrown during the rendering of a template ("Notice: Array to string conversion").Layout :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 /** * @param Request $request * @param UserPasswordEncoderInterface $passwordEncoder * @return \Symfony\Component\HttpFoundation\RedirectResponse|Response * @Route("/createUser", name="create_user") */ public function createUser(Request $request, UserPasswordEncoderInterface $passwordEncoder) { //building form $user = new User(); $form = $this->createForm(UserType::class, $user); //handle the submit $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { //encode the password $password = $passwordEncoder->encodePassword($user, $user->getPassword()); $user->setPassword($password); //save user $em = $this->getDoctrine()->getManager(); $em->persist($user); $em->flush(); return $this->redirectToRoute('gestion'); } $formView = $form->createView(); return $this->render('admin/register.html.twig', ['form' => $formView]); }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 {% extends 'base.html.twig' %} {% block body %} {{ form_start(form) }} {{ form_row(form.username) }} {{ form_row(form.email) }} {{ form_row(form.password) }} <button type="submit">Register!</button> {{ form_end(form) }} {% endblock %}
Merci pour votre aide
Partager