![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 66 Pomógł: 1 Dołączył: 27.04.2004 Skąd: Rzeszów Ostrzeżenie: (0%) ![]() ![]() |
Natknąłem się na następujący problem i nie wiem jak sobie z nim poradzić...
Mam formularz który nie jest powiązany z entity... Formularz zawiera pola proste (tekst, data) oraz pola wyboru książki powiązane z entity.
Jako parametr choices wchodzi tablica elementów AppBundle:Book. Formularz ten nie posiada zdefiniowanych walidatorów, natomiast AppBundle:Book posiada walidatory np takiej jak wymagany autor książki czy tytuł. Teraz problem polega na tym, że podczas walidacji takiego formularza w kontrolerze przez $form->isValid() dostaję informację o błędzie, że np pole autor dla AppBundle:Book jest wymagane. W jaki sposób można wyłączyć kaskadową walidację dla tego pola? Ten post edytował DavidPL 1.08.2015, 01:53:01 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 82 Pomógł: 22 Dołączył: 20.07.2010 Ostrzeżenie: (0%) ![]() ![]() |
1. jesli ksiazka musi miec autora (ma taki walidator) to dlaczego wybrana ksiazka go nie ma? Inaczej, czy w bazie wszystkie ksiazki maja autora?
2. nie widac opcji wiec nie wiem czy masz ustawione cascade_validation, mozesz ustawic cascade_validation na false jesli nie masz innych embedowanych formow, ktore chcesz walidowac 3. uzyc grup walidacji (validation groups) i walidowac tylko to co rzeczywiscie chcesz 4. utworzyc jednak klase ktorej dane reprezentuje ten formularz (z polami id, name i kolekcja ksiazek) i przekazywac jej obiekt do formularza. Wtedy na polu books mozna dac @Assert\Valid() albo go nie dawac (jesli go nie bedzie to elementy w kolekcji nie beda walidowane). Obiekt ten waro miec, bo i tak jesli formularz bedzie poprawny to bedziesz cos z tymi danymi robil, wcale nie musi to byc encja mapowana do bazy danych przez doctrine |
|
|
![]() ![]() |
![]() |
Aktualny czas: 13.10.2025 - 08:38 |