моя кнопка отправки не отправляет мою форму с symfony - PullRequest
0 голосов
/ 22 октября 2018

Кстати, я понимаю простую форму с сообщением электронной почты и нажимаю кнопку «Отправить», но там, когда я нажимаю кнопку «Отправить», моя страница перезагружается только без каких-либо действий.И моя панель инструментов Symfony не сообщает мне об ошибке.

Цель этой формы - восстановить забытый пароль

Контроллер

public function requestPassAction(Request $request, TokenGeneratorInterface $tokenGenerator = null)
{

    $email = $request->request->get('_username');
    $form = $this->createFormBuilder()
       ->add('username', EmailType::class, [
           'constraints' => [new Email(), new NotBlank()]
       ])
       ->getForm();
   $form->handleRequest($request);

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

       $em = $this->getDoctrine()->getManager();
       $user = $em->getRepository(User::class)
               ->findOneBy(array('username' => $email));

       if (!$user) {
           return $this->redirectToRoute("renouvellement_pass");
       }

       $user->setToken($tokenGenerator->generateToken());
       $user->setPasswordRequestedAt(new \Datetime());
       $em->flush();
       return $this->redirectToRoute("login");
   }

   return $this->render('Resetting/request.html.twig', [
       'form' => $form->createView()
   ]);

}

Веточка

{% extends "DoctixFrontBundle::layout.html.twig" %}
{% block body %}
    {{form_start(form)}}
    {{form_widget(form.username)}}
    <button type="submit">Envoyer</button>
    {{form_end(form)}}
{% endblock %}

Ошибки с дампом

 SecurityController.php on line 202:
   FormErrorIterator {#572 ▼
 -form: Form {#595 ▼
   -config: FormBuilder {#588 ▶}
   -parent: null
   -children: OrderedHashMap {#528 ▼
   -elements: array:1 [▶]
   -orderedKeys: array:1 [▶]
   -managedCursors: []
  }
 -errors: []
 -submitted: false
 -clickedButton: null
 -modelData: null
 -normData: null
 -viewData: null
 -extraData: []
 -transformationFailure: null
 -defaultDataSet: true
 -lockSetData: false
 }
-errors: []
}

1 Ответ

0 голосов
/ 23 октября 2018

Есть много разных способов настроить отображение ошибок при отправке формы с ошибками.Сообщения об ошибках для поля отображаются, когда вы используете помощник form_errors ():

Обновите свой код, добавьте помощник ошибок формы:

{% extends "DoctixFrontBundle::layout.html.twig" %}
{% block body %}
    {{form_start(form)}}
        {{form_widget(form.username)}}
        {{ form_errors(form.username) }}
        <button type="submit">Envoyer</button>
    {{form_end(form)}}
{% endblock %}

Подробнее о Вывод ошибки Symfony Customization

или вы можете получить ошибку от контроллера:

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

} else {
    dump($form->getErrors()); exit();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...