![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 103 Pomógł: 17 Dołączył: 15.12.2012 Ostrzeżenie: (0%) ![]() ![]() |
Staram się dodać pole z datą do encji. Mój formularz:
w encji pola daty i czasu opisane są:
Akcja w kontrolerze:
Jednak walidacja nie przechodzi ponieważ: Jak zasymulować wprowadzene daty tak aby walidacja działała poprawnie? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 395 Pomógł: 80 Dołączył: 24.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Pokaż reguły walidacji encji.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 103 Pomógł: 17 Dołączył: 15.12.2012 Ostrzeżenie: (0%) ![]() ![]() |
Nie dodawałem walidacji do encji.
Odświeżam temat, z tego co udało mi się dowiedzieć powinienem użyć Data Transformers http://symfony.com/doc/current/cookbook/fo...ansformers.html Nie wiem co robię źle, dane dane pochodzące z PUT:
akcja w kontrolerze:
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 2 148 Pomógł: 230 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Masz taki typ formularza jak datetime i tam masz nawet możliwośc wyboru widgeta jakiego użyć, łącznie z jego formatem. Nie ma potrzeby używać transformerów.
// EDIT A Twój kod nie działa, bo używasz view transformera i starasz się zrobić ze stringa obiekt (dlatego pokazuje że nieprawidłowy typ), powinieneś użyć model transformera. Ten post edytował pyro 10.04.2014, 21:48:38 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 103 Pomógł: 17 Dołączył: 15.12.2012 Ostrzeżenie: (0%) ![]() ![]() |
Tylko że ja nie mam wpływ na wygląd formularza (nie mam wpływu na frontend bo to robi ktoś inny przy pomocy frameworka do JS) Dane otrzymuję w postaci JSON i chcę zapisać je w bazie danych, mogę uzupełniać każde pole osobno ale chciałbym robić tak jak się powinno robić czyli na wzór $form->handleRequest, jak to wykonać w sf2?
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 2 148 Pomógł: 230 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
A jak to się odnosi do mojej odpowiedzi? Przecież ja Ci nie mówię, żeby użyć choćby skrawka html/css/js. Przeczytaj jeszcze raz.
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 103 Pomógł: 17 Dołączył: 15.12.2012 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 2 148 Pomógł: 230 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Tak
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 103 Pomógł: 17 Dołączył: 15.12.2012 Ostrzeżenie: (0%) ![]() ![]() |
to teraz wrócilismy do 1 posta z tematu z tą różnicą że zamiast $form->submit używam $form->handleRequest .... validacja false
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 2 148 Pomógł: 230 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Niech zgadnę... zostawiłeś transformera?
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 103 Pomógł: 17 Dołączył: 15.12.2012 Ostrzeżenie: (0%) ![]() ![]() |
Niech zgadnę... zostawiłeś transformera? tak... zakomentowanego.
Ten post edytował ssstrz 11.04.2014, 15:16:57 |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 2 148 Pomógł: 230 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Ok a jak renderujesz to pole i jakie dane wprowadzasz?
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 103 Pomógł: 17 Dołączył: 15.12.2012 Ostrzeżenie: (0%) ![]() ![]() |
Pisałem że dane otrzymuję z frameworka JS (extJS) więc ja tego nie renderuje - w assetsach mam pliki js które renderują formularz ale wypływ na formatowanie pola mam niewielki. Dostęp mam do danych np z firebuga metoda Put:
Kod Source {"id":5,"title":"aa","description":"aa","started":"2014-03-18"} |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 2 148 Pomógł: 230 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Aha... to wyrenederuj u siebie testowo i porównaj z polami z layoutu. To, że pole ma name="abc", nie znaczy, że będzie $form->add('abc'...)
|
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 103 Pomógł: 17 Dołączył: 15.12.2012 Ostrzeżenie: (0%) ![]() ![]() |
Wyrenderowany formularz ma pola typu
i walidacja w ten sposób przechodz przechodzi. Po zmianie metody na put teść błędu walidacji to: Kod This form should not contain extra fields. , Sf2 zgodnie z cookbook dodaje ukryte pole _method, i teraz walidacja (po wysłaniu formularza po wygenerowaniu) nie przechodzi z powodu w/w błędu
Ten post edytował ssstrz 11.04.2014, 23:12:05 |
|
|
![]()
Post
#16
|
|
Grupa: Zarejestrowani Postów: 4 340 Pomógł: 542 Dołączył: 15.01.2006 Skąd: Olsztyn/Warszawa Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 103 Pomógł: 17 Dołączył: 15.12.2012 Ostrzeżenie: (0%) ![]() ![]() |
ok było kilka błedów po drodze, ale rozwiązanie problemu sprowadza się do zmapowania pól z formularza ExtJS do pól formularza Symfony 2 czyli chciałbym aby pole:
nadesłane z ExtJS Kod title formularz bindował jako: Kod progress[title]
|
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 4 340 Pomógł: 542 Dołączył: 15.01.2006 Skąd: Olsztyn/Warszawa Ostrzeżenie: (0%) ![]() ![]() |
W Propelu masz metode fromArray
wiec przekazując obiekt do formularza masz dane.
|
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 103 Pomógł: 17 Dołączył: 15.12.2012 Ostrzeżenie: (0%) ![]() ![]() |
a czy jest sposób aby form builder automatycznie mapował pole title na progress[title] czy muszę odbierać te parametry ręcznie?
.... update wygląda na to że createNamed to rozwiązenie mojego problemu.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 18.09.2025 - 00:03 |