Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [Symfony]Jak pobrać obiekt z formularza bez zapisu
frani0
post
Post #1





Grupa: Zarejestrowani
Postów: 43
Pomógł: 5
Dołączył: 9.03.2011

Ostrzeżenie: (0%)
-----


Witam,

Mam taki problem. Wygenerowałem standardowo formularz, i chciałbym tylko i wyłącznie pobrać obiekt bez jego zapisu. Niestety wyskakuje błąd walidacji... kompletnie nie mam pojęcia dlaczego.

Pokaże na przykładzie o co chodzi:
to jest kod klasycznie generowany przez symfony+doctrine i to zadziała
  1. protected function processForm(sfWebRequest $request, sfForm $form)
  2. {
  3. $form->bind($request->getParameter($form->getName()), $request->getFiles($form->getName()));
  4. if ($form->isValid())
  5. {
  6. $obj = $form->save();
  7.  
  8. $this->redirect('rejestracja/edit?id='.$obj->getId());
  9. }
  10. }

ten kod przynajmniej w teorii(dokumentacja) powinien działać tak samo:
  1. protected function processForm(sfWebRequest $request, sfForm $form)
  2. {
  3. $form->bind($request->getParameter($form->getName()), $request->getFiles($form->getName()));
  4. if ($form->isValid())
  5. {
  6. $obj = $form->getObject();
  7. $obj->save();
  8.  
  9. $this->redirect('rejestracja/edit?id='.$obj->getId());
  10. }
  11. }

ale wyskakują mi poniższe błędy:
Validation failed in class user

2 fields had validation errors:

* 1 validator failed on mail (notnull)
* 1 validator failed on pass (notnull)


kompletnie nie mam pojęcia dlaczego, czyszczę clear-cashe i nadal nic... czy macie pomysł co może być grane?
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
mea culpa

już wiem o co chodzi, przede wszystkim muszę włożyć nawet w tworzony formularz pusty obiekt biggrin.gif a po drugie przed getObject dać metodę aktualizującą ten obiekt... wink.gif zgodnie z rozdzielnością metod na te które zmieniają dane i te które pobierają dane... jeszcze kilka takich błędów i pójdą w ramach pokuty na pielgrzymkę tongue.gif

oto kod:
  1. protected function processForm(sfWebRequest $request, sfForm $form)
  2. {
  3. $form->bind($request->getParameter('user'), $request->getFiles('user'));
  4. if ($form->isValid())
  5. {
  6.  
  7. $this->form->updateObject();
  8. $user = $this->form->getObject();
  9. $user->save();
  10.  
  11. $this->redirect('rejestracja/edit?id='.$user->getId());
  12. }


Ten post edytował frani0 28.04.2011, 15:44:01
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 18:06