![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 266 Pomógł: 20 Dołączył: 15.11.2006 Skąd: Koszalin Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mam problem z formularzem w Symfony2, do którego "podpiętą" mam encję. Dodam, iż moja aplikacja jest serwerem RESTowym, także nie zawsze są przesyłane wszystkie pola formularza.
Dziwne jest to, że obiekt $message (moja encja) posiada pole active i jest ono ustawione na true przed submit(), natomiast na false po submit(). $parameters w tym wypadku nie zawiera pola $active, natomiast ja oczekuję, iż wartość domyślna będzie brana z Entity (w tym wypadku jest to obiekt $message). Wiem, że można użyć w submit() drugiego parametru i ustawić go na false, aczkolwiek niewiele mi to daje, gdyż pojawiają się inne problemy. Poniżej zamieszczę klasę formularza, Entity oraz kod walidujący (oczywiście wszystko w wersji skróconej).
Oczekuję tego, iż jeżeli nie podam pola active (a jest to możliwe) to formularz zwróci mi wartość domyślną z entity. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 266 Pomógł: 20 Dołączył: 15.11.2006 Skąd: Koszalin Ostrzeżenie: (0%) ![]() ![]() |
Niestety to nie pomaga. Znalazłem inne rozwiązanie, dodanie listener'a (https://github.com/adrienbrault/symfony-hateoas-sandbox/blob/master/src/AdrienBrault/ApiBundle/Form/EventListener/ReplaceNotSubmittedValuesByDefaultsListener.php). Aby to zadziałało tak jak chcę muszę ustawić flagę: $ignoreRequiredFields na false. Czy to jest optymalne rozwiązanie dla tego przypadku? (IMG:style_emoticons/default/smile.gif) Dodanie: Rozwiązuje również mój problem. Oczywiście cały czas bazuje na implementacji eventa preBind. Ten post edytował c3zi 12.03.2014, 11:51:49 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 10.10.2025 - 06:41 |