![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 0 Dołączył: 6.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Uczę się Symfony robiąc portal który wcześniej zrobiłem bez frameworka, i mam problem przy walidacji formularza. Googluje caly dzien probuje coraz nowszych (glupszych) rozwiazan i ciagle nic. Chociaz pomoc dotyczaca walidacji formularzy jest obszerna to jednak tam jest mowa o formularzach stworzonych na podstawie modelu przez propela lub doctrine. Czy moglby mi ktos pomoc w walidacji prostego formularza kontaktowego sa w nim pola: imię i nazwisko - poprzednio walidowalem tak
adres e-mail -
wiadomość -
Niby prosty formularz ![]() Formularz wystepuje w module kontakt, w katalogu lib/form stworzylem plik KontaktForm.class.php (bo chyba powinienem co nie? ![]()
Ale nie wiem jak dodac warunki z ifow do validatora. Nie brechtajcie sie jesli to glupoty, bo w ogole nie jarze tych formularzy ![]() |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 879 Pomógł: 189 Dołączył: 14.06.2006 Skąd: Bytom Ostrzeżenie: (0%) ![]() ![]() |
Powinieneś napisać własne walidatory jeśli tego potrzebujesz, możesz także wykorzystać sfValidatorCallback.
Adres e-mail ma już dodany walidator więc wystarczy. Dla "Imię i nazwisko" w starej wersji walidowałeś za pomocą wyrażenia regularnego. W symfony też tak zrób, wykorzystując do tego sfValidatorRegex. Co do długości wiadomości, to widzę, że już umiesz tym sterować, więc nie wiem dlaczego o to pytasz. Pamiętaj, jeśli nie ma czegoś w dokumentacji, to zawsze możesz zajrzeć w kod. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 0 Dołączył: 6.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Czy w ten sposób napisałem własne walidatory?? No i jeszcze jedno pytanie mam, moj formularz wyglada tak: No i z tego co zrozumialem to w symfony znaczniki form itd. tworzy sie za pomoca widgetow, no i czy w taki sposob piszac tylko:
nie pozbywam sie stylow?? |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 879 Pomógł: 189 Dołączył: 14.06.2006 Skąd: Bytom Ostrzeżenie: (0%) ![]() ![]() |
Cytat Czy w ten sposób napisałem własne walidatory?? Nie. Wykorzystałeś istniejący walidator, czyli utworzyłeś intancje napisanej już klasy. Tworzenie nowych walidatorów polega na rozszerzeniu klasy sfValdatorBase (lub sfValidator*). Cytat nie pozbywam sie stylow?? A nie możesz sam tego sprawdzić? Kod formularza, który pokazałeś nie zawiera żadnych stylów, więc symfony też ich Ciebie nie ma jak pozbawić. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 0 Dołączył: 6.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
OK sorry pytania nie było
![]() Ale pojawiło się następne przy form_tag_for($form, 'sciezka') no wlasnie co to jest ten drugi argument, do czego to jest sciezka?? |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 879 Pomógł: 189 Dołączył: 14.06.2006 Skąd: Bytom Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem skąd wziąłeś, że tam jest ścieżka. Gdybyś zajrzał do dokumentacji, to znalazłbyś to.
Ale chętnie Ci na to odpowiadam, tym samym zabijam konkurencję i zwiększam swoje szanse na rynku pracy. W zasadzie powinienem wcisnąć pomógł. Ten post edytował destroyerr 15.09.2009, 16:29:44 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 0 Dołączył: 6.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem skąd wziąłeś, że tam jest ścieżka. Gdybyś zajrzał do dokumentacji, to znalazłbyś to. No Właśnie tam jest $routePrefix, route to chyba ścieżka z angielskiego, qrcze nadal stoje z ta walidacja moze zamieszcze kod ktory do tej pory wymeczylem: W katalogu glownym projektu w folderze lib/form stworzylem nastepujacy plik KontaktForm.class.php
apps/frontend/modules/kontakt/templates pliczek indexSuccess.php wyedytowalem do nastepujacej postaci
Tu jest ten nieszczesny form_tag_for($form, 'XXXX') gdzie nie wiem co wplesc zamiast XXXX natomiast apps/frontend/modules/kontakt/actions/actions.class.php wyedytowalem tak:
Po zatwierdzeniu wiadomosci i walidacji wiadomosc powinna zostac wyslana powiedzmy funkcja mail(). Sa jakies pomysly?? ![]() |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 879 Pomógł: 189 Dołączył: 14.06.2006 Skąd: Bytom Ostrzeżenie: (0%) ![]() ![]() |
Widzę, że moja sugestia w poprzednim poście nie poskutkowała. W takim razie, jeśli nie chce Ci się uczyć i szukać to Twoja sprawa.
$routePrefix Prefix ścieżki jak już, a jeszcze lepiej to prefix trasy. Route -> Routing, nie miałeś takiego skojarzenia? Radzę Ci olać form_tag_for bo zbyt dużo tłumaczenia, a sam do tego jak widać nie dojdziesz. Skorzystaj lepiej normalnie z tagu <form>, tylko nie zapomnij go zamknąć! Cytat natomiast apps/frontend/modules/kontakt/actions/actions.class.php wyedytowalem tak: No to dużo zedytowałeś. Jak obsłużyć formularz? Jest to napisane w dokumentacji. Rusz do niej swoje 4 literki ![]() |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 0 Dołączył: 6.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
![]() Widzę, że moja sugestia w poprzednim poście nie poskutkowała. W takim razie, jeśli nie chce Ci się uczyć i szukać to Twoja sprawa. $routePrefix Prefix ścieżki jak już, a jeszcze lepiej to prefix trasy. Route -> Routing, nie miałeś takiego skojarzenia? Radzę Ci olać form_tag_for bo zbyt dużo tłumaczenia, a sam do tego jak widać nie dojdziesz. Skorzystaj lepiej normalnie z tagu <form>, tylko nie zapomnij go zamknąć! No to dużo zedytowałeś. Jak obsłużyć formularz? Jest to napisane w dokumentacji. Rusz do niej swoje 4 literki ![]() Ojoj tego sie obawialem to nie tak ze nie chce mi sie uczyc, bo calutki dzien nad tym siedze i kombinuje tylko ze sam chyba nie dam rady dlatego tez zaczalem watek liczylem po prostu na pomoc kogos kto podobne rzeczy juz robil i potrafi jasno wytlumaczyc jak taka walidacje zrobic (co najmniej w przyblizeniu), dostalem same odnosniki na dokumentacje. Co do skojarzenia to wlasnie od razu takie mialem tylko wlasnie na co powinienem ten tag "routowac", przypomne jedno z moich poprzednich pytan "...form_tag_for($form, 'sciezka') no wlasnie co to jest ten drugi argument, do czego to jest sciezka??" (w odpowiedzi link na dokumentacje w ktorej napisano ze drugi argument nazywa sie $routePrefix ![]() Gdybym byl w stanie dojsc sam nie zamieszczalbym postu, kod ktory zamiescilem jest caly czas rzezbiony (zamknalem <form> niedlugo po napisaniu poprzedniego posta - mimo wszystko dzieki). O moze tym razem cos wiecej napisali w tej dokumentacji prosze o link na to CO NAPISALI... I jeszcze raz blagam o cierpliwosc w stosunku do swiezakow, niektorych zeczy nie da sie wytlumaczyc jednym zdaniem... I jeszcze przez przypadek kliknalem pomogl ![]() gdyby ktos zdecydowal sie jednak pomoc to modules/action/kontakt/actions/actionsclass.php wyglada juz tak(choc nie mam zielonego pojecia czy w dobra strone zmierzam??):
w miejsce XXXX w indexsuccess dalem @kontakt_valid (tez nie wiem skad takie cos mi do glowy przyszlo - improwizuje po prostu) Ten post edytował ceieneka 15.09.2009, 19:07:02 |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 879 Pomógł: 189 Dołączył: 14.06.2006 Skąd: Bytom Ostrzeżenie: (0%) ![]() ![]() |
Nie chodzi o to, że ktoś nie ma cierpliwości, czy też ktoś pozjadał wszystkie rozumy i nie chce podzielić się swoją wiedzą. Raczej chodzi o to, że pisanie dokumentacji to dosyć trudna sprawa. Zazwyczaj dokumentacja nie powstaje lub jest lakoniczna. Dokumentacja do symfony (potwierdzają to także przeciwnicy symfony) jest na prawdę na wysokim poziomie. Niestety, trzeba poświęcić trochę czasu na zapoznanie się z dokumentacją i frameworkiem. Doceń ten trud i zapoznaj się z materiałami.
Zrobiłeś cały Jobeet? Jak zrobisz to wróć i pytaj wtedy. Nie da się ściągnąć, coś dopisać i wszystko działa. Cytat w miejsce XXXX w indexsuccess dalem @kontakt_valid (tez nie wiem skad takie cos mi do glowy przyszlo - improwizuje po prostu) Dodałeś trasy w pliku routing.yml? |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 0 Dołączył: 6.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Ja nie twierdze ze dokumentacja jest kiepska tylko ze nie rozwiazuje wszystkich watpliwosci, tym bardziej mniej zaawansowanym uzytkownikom ktozy sie ucza.
Sciezki mam standardowe tzn. /nazwa_modulu/nazwa_akcji routing.yml
url_for_form(sfForm $form, $routePrefix) zauwazylem ze ta funkcja wywoluje akcje create lub update, czyli moje uzycie ktore umiescilem poprzednio jest do chrzanu, no ale zanim w ogole zajme sie akcja create, to nie wyswietla mi sie formularz module kontakt, tzn wyswietla sie biala strona czy moglby mi ktos wskazac gdzie moze lezec przyczyna: indexSuccess.php wyglada tak:
kontaktForm.class.php tak:
wrzuce jeszcze action.class.php
No i dlaczego nie chce sie wyswietlic?? |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 114 Pomógł: 24 Dołączył: 18.01.2008 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Cytat Ja nie twierdze ze dokumentacja jest kiepska tylko ze nie rozwiazuje wszystkich watpliwosci, tym bardziej mniej zaawansowanym uzytkownikom ktozy sie ucza. Fakt są tematy o których w dokumentacji jest trochę za mało ale są to dosyć zaawansowane problemy. Wszystkie odpowiedzi na twoje pytana są zawarte w dokumentacji. Osoba ze średnim IQ, znająca angielski i PHP nie powinna mieć problemów z jej zrozumiem, jeżeli Ty masz z tym problem to zmień framework/język programowania/zawód(hobby). Ten post edytował Pr0100 16.09.2009, 00:01:33 -------------------- |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 0 Dołączył: 6.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Fakt są tematy o których w dokumentacji jest trochę za mało ale są to dosyć zaawansowane problemy. Wszystkie odpowiedzi na twoje pytana są zawarte w dokumentacji. Osoba ze średnim IQ, znająca angielski i PHP nie powinna mieć problemów z jej zrozumiem, jeżeli Ty masz z tym problem to zmień framework/język programowania/zawód(hobby). Byc moze masz racje, moze jestem za glupi przypomne klasyka "wiem ze nic nie wiem" jesli twoje IQ i wiedza jest na co najmniej srednim poziomie to wiesz co mam na mysli ![]() ![]() Tylko zaczyna mi sie powoli rozmywac sens istnienia takiego forum, jak to wesolo sie powyzywac, a odpowiedzi nadal nie ma - dlatego jezeli ktos ma jeszcze uwagi podobne do przedmowcy to nie musi nic pisac i zasmiecac postu - z gory dziekuje. Na szczescie ludzie za granica sa bardziej wyrozumiali po pierwszym poscie dostalem w odpowiedzi link http://blog.barros.ws/2008/11/05/condition...other-approach/ i wystarczylo - oprocz php trzeba tez uczyc sie kultury... Ten post edytował ceieneka 16.09.2009, 09:12:58 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 16:00 |