Thread View: pl.comp.lang.php
7 messages
7 total messages
Started by Marek S
Sun, 17 Mar 2019 18:31
Laravel - wiele formularzy pod jednym URL
Author: Marek S
Date: Sun, 17 Mar 2019 18:31
Date: Sun, 17 Mar 2019 18:31
25 lines
2026 bytes
2026 bytes
Witam, Uczę się Laravela lecz ugrzązłem na pewnym etapie. Potrafię wyświetlić wiele formularzy na 1 stronie ale nie potrafię ich obsłużyć bez zmiany URL i bez stosowania Ajax'a. Sytuacja jest następująca: jest rozbudowany serwis WWW. Posiada on formularz logowania na każdej stronie. Na stronie głównej dochodzi formularz logowania się do newslettera. Gdzieś jeszcze dochodzi formularz wyszukiwania produktów. Będą zdarzać się jeszcze inne kombinacje różnych formularzy. Ciężko przewidzieć jakie. Z pewnością na jednej stronie będę musiał zbudować dwie wyszukiwarki do dwóch różnych rzeczy. Nie jest dopuszczalne aby wybranie kryteriów wyszukiwania w jednej czy drugiej spowodowało wyświetlenie innej strony WWW niż obecna. Nie jest też dopuszczalne by zmiana kryteriów wyszukiwania w jednej wyszukiwarce powodowała ponowienie wyszukiwania w drugiej. Do niedawna stosowałem własny CMS i nie było z tym problemów. Mogłem umieszczać na stronie dowolną liczbę przeróżnych formularzy i każdy z nich działa niezależnie bez zmiany URL. Nie mam pojęcia jak tego dokonać w Laravelu. Pls help. -- Pozdrawiam, Marek
Re: Laravel - wiele formularzy pod jednym URL
Author: Borys Pogoreło
Date: Mon, 18 Mar 2019 14:18
Date: Mon, 18 Mar 2019 14:18
14 lines
1290 bytes
1290 bytes
Dnia Sun, 17 Mar 2019 19:31:38 +0100, Marek S napisał(a): > Uczę się Laravela lecz ugrzązłem na pewnym etapie. Potrafię wyświetlić > wiele formularzy na 1 stronie ale nie potrafię ich obsłużyć bez zmiany > URL i bez stosowania Ajax'a. Jeśli chodzi tylko o to, by po wysłaniu tych formularzy wrócić na poprzednią stronę, to zrób w każdym z nim powrót przez return redirect()->back()->cotamjeszczepotrzebujesz() -- Borys Pogoreło borys(#)leszno,edu,pl
Re: Laravel - wiele formularzy pod jednym URL
Author: Marek S
Date: Mon, 18 Mar 2019 20:24
Date: Mon, 18 Mar 2019 20:24
9 lines
1125 bytes
1125 bytes
W dniu 2019-03-18 o 15:18, Borys Pogoreło pisze: > return redirect()->back()->cotamjeszczepotrzebujesz() Też tak sobie pomyślałem. Czyli http 3xx ... Dzięki :-) -- Pozdrawiam, Marek
Re: Laravel - wiele formularzy pod jednym URL
Author: Marek S
Date: Fri, 22 Mar 2019 22:35
Date: Fri, 22 Mar 2019 22:35
19 lines
1888 bytes
1888 bytes
W dniu 2019-03-18 o 15:18, Borys Pogoreło pisze: > Jeśli chodzi tylko o to, by po wysłaniu tych formularzy wrócić na > poprzednią stronę, to zrób w każdym z nim powrót przez > > return redirect()->back()->cotamjeszczepotrzebujesz() Ugrzązłem. Dwa formularze mają inny "action". Są one póki co osadzone bezpośrednio jako HTML-owe składniki home.blade.php. Inne kontrolery je zatem odsługują. Załóżmy, że submitujemy formularz #2. Następuje więc przekierowanie pod URL skojarzony z właściwym formularzowi kontrolerem. Kontroler validuje pola i stwierdza, że coś jest nie tak w polu A i B. Robimy redirect'a 3xx do strony zawierającej oba formularze. Chciałbym podświetlić wadliwe pola w odpowiednim formularzu i wyświetlić w nim komunikat o błędzie. Jak mogę uzyskać informację od obu kontrolerów odnośnie poprawności wypełnienia pól w celu podświetlenia błędów? -- Pozdrawiam, Marek
Re: Laravel - wiele formularzy pod jednym URL
Author: Borys Pogoreło
Date: Mon, 25 Mar 2019 16:35
Date: Mon, 25 Mar 2019 16:35
14 lines
1475 bytes
1475 bytes
Dnia Fri, 22 Mar 2019 23:35:27 +0100, Marek S napisał(a): > Robimy redirect'a 3xx do strony zawierającej oba formularze. Chciałbym > podświetlić wadliwe pola w odpowiednim formularzu i wyświetlić w nim > komunikat o błędzie. Jak mogę uzyskać informację od obu kontrolerów > odnośnie poprawności wypełnienia pól w celu podświetlenia błędów? Jeśli masz dwa lub więcej formularzy, to musisz je jakoś rozdzielić, wprowadzając coś na kształt przestrzeni nazw. Możesz użyć prefiksów albo tablic w nazwach pól. -- Borys Pogoreło borys(#)leszno,edu,pl
Re: Laravel - wiele formularzy pod jednym URL
Author: Marek S
Date: Mon, 25 Mar 2019 21:32
Date: Mon, 25 Mar 2019 21:32
18 lines
1811 bytes
1811 bytes
W dniu 2019-03-25 o 17:35, Borys Pogoreło pisze: > Jeśli masz dwa lub więcej formularzy, to musisz je jakoś rozdzielić, > wprowadzając coś na kształt przestrzeni nazw. Możesz użyć prefiksów albo > tablic w nazwach pól. Znalazłem rozwiązanie! Uff... Jest nim właściwość errorBag klasy Form. Dzięki temu można wiele formularzy mieć na 1 stronie, obsługiwać ich submitowanie w różnych kontrolerach i wracać z wynikami do strony, która nie ma nic wspólnego z tymi kontrolerami. Zarówno stany pól jaki i błędy są rozdzielone. Nie ma potrzeby zdbania o niepowtarzalność nazw pól. To takie obejście limitów modelu MVC... Przy MVP tego typu problemy w ogóle nie istniały. Ciekawe skąd taka popularność frameworków MVC? -- Pozdrawiam, Marek
Re: Laravel - wiele formularzy pod jednym URL
Author: Borys Pogoreło
Date: Tue, 26 Mar 2019 16:29
Date: Tue, 26 Mar 2019 16:29
20 lines
1859 bytes
1859 bytes
Dnia Mon, 25 Mar 2019 22:32:18 +0100, Marek S napisał(a): > Znalazłem rozwiązanie! Uff... Jest nim właściwość errorBag klasy Form. > Dzięki temu można wiele formularzy mieć na 1 stronie, obsługiwać ich > submitowanie w różnych kontrolerach i wracać z wynikami do strony, która > nie ma nic wspólnego z tymi kontrolerami. Zarówno stany pól jaki i błędy > są rozdzielone. Nie ma potrzeby zdbania o niepowtarzalność nazw pól. To nie wystarczy, jeśli chcesz zadbać o dobre UI i podświetlać pola, które mają błędną zawartość. W tym celu musisz mieć możliwość ich jednoznacznej identyfikacji. > To takie obejście limitów modelu MVC... Przy MVP tego typu problemy w > ogóle nie istniały. Ciekawe skąd taka popularność frameworków MVC? Bo MVP służy przede wszystkim do opisu interfejsów. -- Borys Pogoreło borys(#)leszno,edu,pl
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads