Witam,
Próbuję w elegancki sposób stworzyć formularz dla użytkownika, za pomocą którego będę mógł zrealizować tworzenie i aktualizację tegoż użytkownika.
Niestety symfony rzuca mi kłody pod nogi.
Mój użytkownik to jakiś twór posiadający imię i inne takie pierdoły oraz hasło. chciałbym podczas tworzenia mieć pole do wpisania hasła (oraz powtórzenia hasła), które będzie należycie validowane oraz podczas update'u chciałbym mieć dodatkowo checkbox, którego zaznaczenia spowoduje validację oraz zapis hasła. W przeciwnym wypadku hasło będzie pomijane.
Chcąc zrobić to za pomocą "zwykłego" formularza dziedziczącego po sfFormPropel zapędzę się w nieeleganckie if'y w budowaniu schemy widget'ów oraz validatoró'ów. Wszystko uzależnione od tego czy obiekt jest isNew().
Pomyślałem więc, że stworzę formularz (i validację do niego) użytkownika pomijając hasło a hasło dołączę (sfForm::embedForm()) w oddzielnym formularzu służącym tylko do wpisania hasła (powiedzmy PasswordForm). Dzięki temu elegancko rozdzielę te byty, bo w edycji dołączę, powiedzmy, NewPasswordForm. Ładnie i elegancko.
Niestety przy formularzu tak utworzonym symfony próbuje wykonać na moim użytkowniku setPassword() podając jako agrument całą zawartość dołączonego formularza. Żeby to ominąć znów czeka mnie rzeźbienie :/
Pytanie do Was. Jak realizujecie podobną funkcjonalność?