![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 191 Pomógł: 7 Dołączył: 3.04.2013 Ostrzeżenie: (0%) ![]() ![]() |
Chcę tutaj porównać jedną daną pobraną w przesyłanym formularzu z drugą.
Wyczytałem gdzieś że do rozwiązania tego problemu, przy tworzeniu formularza FormType należy wykorzystać obiekt Callback, konstrukcja wygląda mniej więcej tak:
Problem w tym że nie wiem gdzie mam umieścić funckję validate. Umieszczałem ją w FormType i nie działa, także próbowałem w kontrolerze, ale tam też jakoś na to nie reaguje. Przy formularzu wykorzystującym entity, umieszczam ją w entity i wszystko działa, ale tutaj nie mam takiej klasy. Więc, gdzie umieścić tą funkcję? (IMG:style_emoticons/default/smile.gif) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 191 Pomógł: 7 Dołączył: 3.04.2013 Ostrzeżenie: (0%) ![]() ![]() |
jest ok, ale jesli ta metoda walidacji ma dotyczyc calego formularza (bo uzywa wiekszej ilosci pol) to moze byc lepszym pomyslem dodanie walidatora do calego formularza, a nie do pojedynczego pola. Do klasy FormType mozna dodac metode:
Wtedy w metodzie validate w 1 argumencie dostaniemy array z wszystkimi polami z formularza (pola nie powinny miec mapped => false, i tak nie przekazujemy obiektu):
Używając powyższej metody, zwraca mi komunikat podobny do: "cannot use DateTime as Array". Co jest dziwne, bo gdy porównuje te wartości z $value['pole1'] z $form->get('pole1')->getData() przez var_dump(), są takie same. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 14.10.2025 - 23:25 |