Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Symfony]Własny formularz w Symfony 1.4
Forum PHP.pl > Forum > PHP > Frameworki
frani0
Mam własny formularz w Symfony 1.4(dziedziczy z sfForm) mam w nim widget'y służące do wgrania pliku.

  1. class BaseworkForm2 extends sfForm
  2. {
  3. public function configure()
  4. {
  5. $this->setWidgets(array(
  6. 'id_user' => new sfWidgetFormInputHidden(),
  7. 'id_work' => new sfWidgetFormInputHidden(),
  8. 'action_type' => new sfWidgetFormInputHidden(),
  9.  
  10. 'fotka' => new sfWidgetFormInputFile(array()),
  11. 'opis' => new sfWidgetFormTextarea(array()),
  12. ));
  13. $this->setValidators(array(
  14. 'id_user' => new sfValidatorInteger(array('required' => false)),
  15. 'id_work' => new sfValidatorInteger(array('required' => false)),
  16. 'action_type' => new sfValidatorInteger(array('required' => false)),
  17.  
  18. 'fotka' => new sfValidatorFile(array('required' => true)),
  19. 'opis' => new sfValidatorString(array('required' => true)),
  20. ));
  21. $this->widgetSchema->setNameFormat('work[%s]');
  22. }
  23. }


Kombinuję jak zrobić edycję gdyż jeśli widget 'fotka' jest pusty to mi wywala błąd validacji(zresztą słucznie), ale w jaki sposób mam zaznaczyć iż te pole jest uzupełnione poprzednio? W przypadku widgetu "opis" wystarczy iż dam
  1. $form->setValue('opis', $work->getOpis());
a jak zrobić to w wypadku pliku?
Gribo
Nie wiem jak obsługujesz formularze w akcji ale nie trzeba robić nic z tych rzeczy:
Kod
    $form->setValue('opis', $work->getOpis());

musisz poprostu formularz przed walidacją zabindować poczytaj w dokumentacji o metodzie bind() ewentualnie bindandsave(). Pole z plikiem nie pamiętam dokładnie ale chyba nie powraca do poprzedniego stanu tak jak pole z hasłem ale mogę się mylić.
jaro87
Nie da się. Przynajmniej nie z zadną przeglądarką nowszą od bodajże IE4;)
Przeczytaj sobie np. to: http://stackoverflow.com/questions/3159831...n-http-requests
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.