Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [Symfony][Symfony2]Upload plików i walidacja
michol
post 2.12.2014, 22:34:11
Post #1





Grupa: Zarejestrowani
Postów: 1
Pomógł: 0
Dołączył: 2.12.2014

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


Witam, tworzę formularz z dwoma polami - nazwa i zdjęcie. Oba pola są wymagane. Sam mechanizm uploadu twprzyłem korzystając z tej dokumentacji: http://symfony.com/doc/current/cookbook/do...le_uploads.html i działa to fajnie, jednak pojawił się problem jak obsłużyć następujący przypadek:
  1. w formularzu nie podaję nazwy i podaję plik
  2. po wysłaniu formularza pokazuje się błąd walidacji pola nazwa, ale zachowuje się wgrany plik, wobec czego nie muszę go już wgrywać ponownie.


Czy ma ktoś może przykładowy kod, obsługujący taki przypadek?

Ten post edytował michol 2.12.2014, 22:34:56
Go to the top of the page
+Quote Post
BigPig
post 3.12.2014, 21:56:59
Post #2





Grupa: Zarejestrowani
Postów: 61
Pomógł: 9
Dołączył: 18.06.2013
Skąd: Białystok

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


Z tego co się orientuje to jest niemożliwe. Taka opcja jest zablokowana z powodu bezpieczeństwa.

Ogólnie sprawa tak wygląda, że symfony 2, w momencie kiedy wykryto błąd, ustawia stare wartości dla pól formularza. Problem w tym, że nie da się ustawić wartości dla pola typu file poprzez kod.

Np. tu ta kwestia została poruszona. http://stackoverflow.com/questions/1696877...e-input-in-html

Jedyne co mi przychodzi do głowy to rozwiązanie javascriptowe, coś w stylu:
- W momencie kiedy dodajesz zdjęcie, javascriptem wrzucasz np. do jakieś folderu tmp, a przy okazji możesz tą fotkę wyświetlić.
- kiedy walidacja przeszła pozytywnie już z poziomu php wyszukujesz tego pliku i przenosisz do odpowiedniego folderu.

Sam tak nie robiłem, aczkolwiek tego bym próbował w Twojej sytuacji.

Ten post edytował BigPig 3.12.2014, 22:00:41
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 Wersja Lo-Fi Aktualny czas: 19.07.2025 - 04:06