Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]symfony. form zawsze isSubmited false.
Forum PHP.pl > Forum > Przedszkole
porzeczki
Może komuś rzuci się w oczy coś nie dobrego.

zamiast w kontrolerze zrobiłem form handlera w osobnej klasie

  1. //kontroler
  2. $form= $this->createForm(DostawaType::class, $klient, array(
  3. 'attr' => array('class' => 'form_dostawa')));
  4.  
  5. $formHandler = $this->get('app.form_handler.zamowienie');
  6.  
  7. if($formHandler->handle($form)){
  8. return $this->redirectToRoute('potwierdzenie');
  9. };



  1. //('app.form_handler.zamowienie')->handle
  2. public function handle(FormInterface $form)
  3. {
  4. if (!$form->isValid()) {
  5. $submit=$form->isSubmitted();
  6. return false;
  7. }



debugger pokazuje obiekt $form jednakowy przed i po wysłaniu formularza
  1. submitted = false
  2. clickedButton = null

kpt_lucek
No dobra, a gdzie wywołujesz $form->handleRequest($request)?
porzeczki
a bo sprytnie ominąłem linię:

  1. $form->bind($request);


wzorując się na podręczniku z 2014 gdy (zdaje się) nie robiło się handleRequest(). Pomyślałem że to jakiś zbędny szczegół.

  1. public function handle(FormInterface $form, Request $request)
  2. {
  3. if (!$request->isMethod('POST')) {
  4. return false;
  5. }
  6. $form->bind($request);
  7. if (!$form->isValid()) {
  8. return false;
  9. }
kpt_lucek
To też nie do końca odpowiednie, tj sprawdzanie czy RequestMethod to POST

Czasami masz inne metody, PATCH/PUT
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.