[Laravel] Nie zawsze wyświetla komunikaty po wysłanym POST'cie, prośba o spojrzenie w kod |
[Laravel] Nie zawsze wyświetla komunikaty po wysłanym POST'cie, prośba o spojrzenie w kod |
23.10.2020, 08:21:17
Post
#1
|
|
Grupa: Zarejestrowani Postów: 680 Pomógł: 28 Dołączył: 14.08.2014 Ostrzeżenie: (0%) |
Panowie dziwna sprawa , albo coś namieszałem w kodzie albo sam nie wiem , po wysłaniu POSTA raz wyświetli komunikat z walidacją a innym razem brak informacji.
Poniżej kod: web.php
BackendController.php
BackendGateway.php
BackendRepository.php
oraz index.blade
|
|
|
23.10.2020, 08:50:24
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) |
1. Jakie tam masz middleware?
2. Co to znaczy "czasami"? 3. Dlaczego używasz tej samej akcji kontrolera dla GET i POST zamiast to oddzielić? |
|
|
23.10.2020, 09:01:48
Post
#3
|
|
Grupa: Zarejestrowani Postów: 6 365 Pomógł: 1114 Dołączył: 30.08.2006 Ostrzeżenie: (0%) |
Pewnie się coś krzaczy dla GET który jest walidowany a nie ma parametrów. Pomyślałeś o użyciu https://laravel.com/docs/8.x/validation#for...uest-validation ?
-------------------- |
|
|
23.10.2020, 10:14:43
Post
#4
|
|
Grupa: Zarejestrowani Postów: 680 Pomógł: 28 Dołączył: 14.08.2014 Ostrzeżenie: (0%) |
1. Jakie tam masz middleware? 2. Co to znaczy "czasami"? 3. Dlaczego używasz tej samej akcji kontrolera dla GET i POST zamiast to oddzielić? Ad1 ? Pytasz o to co mam w Kernel.php ? Ad2. przesyłam puste inputy żeby sprawdzić walidację -> brak message - > Ctrl + F5 - > ponowne przesłanie jest walidacja -> ponowna akcja brak walidacji -> takie w kratkie i nie zależne od niczego pojawia się i znika Ad3. czyli uważasz , żę nie powinienem stosować matcha? tylko rozbić
Jeżeli tak to to za wiele nie wnosi. |
|
|
23.10.2020, 10:26:00
Post
#5
|
|
Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) |
Chodziło mi o rozbicie tak:
Inna metoda kontrolera i inna nazwa, nawet jeśli URL jest taki sam. Jeśli chodzi o middleware, pytałem jakie konkretnie middleware są odpalane na tych route'ach. |
|
|
23.10.2020, 10:52:27
Post
#6
|
|
Grupa: Zarejestrowani Postów: 680 Pomógł: 28 Dołączył: 14.08.2014 Ostrzeżenie: (0%) |
Chodziło mi o rozbicie tak:
Inna metoda kontrolera i inna nazwa, nawet jeśli URL jest taki sam. Jeśli chodzi o middleware, pytałem jakie konkretnie middleware są odpalane na tych route'ach. lista routów: rozbicie też nie przyniosło rezultatu. Ten post edytował casperii 23.10.2020, 10:53:27 |
|
|
23.10.2020, 10:59:05
Post
#7
|
|
Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) |
Rozbicie nie miało "przynieść efektu", tylko poprawić architekturę.
Usuń Cashe::flush() , a zamiast redirect back zrób redirect do jakiegoś konkretnego route'a, bo chyba o to Ci chodzi. |
|
|
23.10.2020, 12:57:23
Post
#8
|
|
Grupa: Zarejestrowani Postów: 680 Pomógł: 28 Dołączył: 14.08.2014 Ostrzeżenie: (0%) |
Rozbicie nie miało "przynieść efektu", tylko poprawić architekturę. Usuń Cashe::flush() , a zamiast redirect back zrób redirect do jakiegoś konkretnego route'a, bo chyba o to Ci chodzi. Niestety nadal to samo, powtórzę cel jaki chcę osiągnąć. Wchodząc w route profile :
mam formularz m.in imie, nazwisko , po kliknięciu zapisz , następuje aktualizacja (to się zapisuje bez problemu) , teraz gdybym pominął jedno z tych pól ma walić walidacja na roucie "profile" , niestety nadal są jakieś jaja bo raz jest raz nie ma tego komunikatu, a teraz to już w ogóle nie ma tego komunikatu , roout na obsłużenie tego action post:
|
|
|
23.10.2020, 13:39:05
Post
#9
|
|
Grupa: Zarejestrowani Postów: 44 Pomógł: 5 Dołączył: 20.05.2019 Ostrzeżenie: (0%) |
Dlaczego nie korzystasz z walidacji tak jak proponuje Laravel? Według mnie przekombinowałeś, proponuje tak:
1. Zrób custom Request do walidacji forma - https://laravel.com/docs/8.x/validation#cre...g-form-requests (niezależnie od wersji, praktycznie to samo) i usuń BackendGateway, zamiast tego DI do metod bezpośrednio. 2. Rozbij obecny index na metody index oraz store 3. Zamiast matcha zrób po prostu
4. To co masz w Repository, zmienne przypisywane z requestu, lepiej pobrać tak: , mniej kodu i masz pewność, że pola sa po walidacji. Dodatkowo nie rozumiem po co zrobiłeś , skoro samo $request->user() daje Ci dokładnie to co szukasz lub po prostu możesz zrobić
|
|
|
23.10.2020, 14:14:06
Post
#10
|
|
Grupa: Zarejestrowani Postów: 680 Pomógł: 28 Dołączył: 14.08.2014 Ostrzeżenie: (0%) |
Dlaczego nie korzystasz z walidacji tak jak proponuje Laravel? Według mnie przekombinowałeś, proponuje tak: 1. Zrób custom Request do walidacji forma - https://laravel.com/docs/8.x/validation#cre...g-form-requests (niezależnie od wersji, praktycznie to samo) i usuń BackendGateway, zamiast tego DI do metod bezpośrednio. 2. Rozbij obecny index na metody index oraz store 3. Zamiast matcha zrób po prostu
4. To co masz w Repository, zmienne przypisywane z requestu, lepiej pobrać tak: , mniej kodu i masz pewność, że pola sa po walidacji. Dodatkowo nie rozumiem po co zrobiłeś , skoro samo $request->user() daje Ci dokładnie to co szukasz lub po prostu możesz zrobić
Ad4. tu jest zastosowany Model User, ponieważ user może mieć różne uprawnienia (może być moderatorem , administratorem, gościem), może mieć różny formularz edycyjny (firma / os prawna) |
|
|
Wersja Lo-Fi | Aktualny czas: 28.03.2024 - 20:28 |