[Symfony][SF2] Problem z walidacją daty |
[Symfony][SF2] Problem z walidacją daty |
18.03.2014, 18:24:23
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? |
|
|
19.03.2014, 08:06:34
Post
#2
|
|
Grupa: Zarejestrowani Postów: 395 Pomógł: 80 Dołączył: 24.08.2009 Ostrzeżenie: (0%) |
Pokaż reguły walidacji encji.
-------------------- |
|
|
10.04.2014, 20:57:15
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:
|
|
|
10.04.2014, 21:29:39
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 -------------------- ET LINGUA EIUS LOQUETUR IUDICIUM
|
|
|
11.04.2014, 11:28: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?
|
|
|
11.04.2014, 12:27:43
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.
-------------------- ET LINGUA EIUS LOQUETUR IUDICIUM
|
|
|
11.04.2014, 12:48:47
Post
#7
|
|
Grupa: Zarejestrowani Postów: 103 Pomógł: 17 Dołączył: 15.12.2012 Ostrzeżenie: (0%) |
|
|
|
11.04.2014, 12:57:20
Post
#8
|
|
Grupa: Zarejestrowani Postów: 2 148 Pomógł: 230 Dołączył: 26.03.2008 Ostrzeżenie: (0%) |
Tak
-------------------- ET LINGUA EIUS LOQUETUR IUDICIUM
|
|
|
11.04.2014, 13:29:02
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
|
|
|
11.04.2014, 13:32:30
Post
#10
|
|
Grupa: Zarejestrowani Postów: 2 148 Pomógł: 230 Dołączył: 26.03.2008 Ostrzeżenie: (0%) |
Niech zgadnę... zostawiłeś transformera?
-------------------- ET LINGUA EIUS LOQUETUR IUDICIUM
|
|
|
11.04.2014, 15:16:01
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 |
|
|
11.04.2014, 15:18:16
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?
-------------------- ET LINGUA EIUS LOQUETUR IUDICIUM
|
|
|
11.04.2014, 15:57:10
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"} |
|
|
11.04.2014, 16:13:17
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'...)
-------------------- ET LINGUA EIUS LOQUETUR IUDICIUM
|
|
|
11.04.2014, 23:10:32
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 |
|
|
12.04.2014, 17:33:26
Post
#16
|
|
Grupa: Zarejestrowani Postów: 4 340 Pomógł: 542 Dołączył: 15.01.2006 Skąd: Olsztyn/Warszawa Ostrzeżenie: (0%) |
Jeżeli dodajesz extra pole to musisz dać
w ProcessType -------------------- I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy. QueryBuilder, Mootools.net, bbcradio1::MistaJam http://www.phpbench.com/ |
|
|
13.04.2014, 20:38:50
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]
|
|
|
13.04.2014, 21:30:10
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.
-------------------- I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy. QueryBuilder, Mootools.net, bbcradio1::MistaJam http://www.phpbench.com/ |
|
|
17.04.2014, 04:50:08
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.
|
|
|
Wersja Lo-Fi | Aktualny czas: 27.04.2024 - 11:36 |