![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 43 Pomógł: 0 Dołączył: 2.09.2012 Ostrzeżenie: (0%) ![]() ![]() |
Chciałbym przed zapisem danych z formularza w Symfony przekształcać je do odpowiedniego formatu. Przykładowo, jeśli użytkownik wpisze numer telefonu "123-123-123" to w bazie powinno być zapisane: "+48123123123". Próbowałem zastosować CallbackTransformer wg dokumentacji, ale to raczej służy formatowaniu w polach formularza, a nie w celu zapisania do bazy. Oczywiście mógłbym stworzyć sobie serwis i wrzucać sobie do niego wartość tego pola, ale czy są może jakieś lepsze, wbudowane w SF rozwiązania?
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Domyślam się, że Twój formularz pracuje bezpośrednio na obiekcie encji obsługiwanej przez Doctrine, tak? Jeżeli tak to jest to bardzo, bardzo zła praktyka.
1. Przygotuj sobie dedykowany obiekt, który reprezentuje model danych formularza. 2. Możesz wykorzystać DataTransformer dla formularza, który znormalizuje numer telefonu (123-123-123 -> +48123123123). 3. Jeżeli formularz jest prawidłowy wyciągnij sobie encję, zaktualizuj jej dane na podstawie danych z formularza i zapisz ją. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 6.10.2025 - 11:09 |