![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 439 Pomógł: 0 Dołączył: 3.06.2010 Ostrzeżenie: (50%) ![]() ![]() |
Jak zebrać komunikaty błędów validacji z kilku form tzn:
mam np. jedną stronę - formularz, który jest złożony z kilku form, każda forma ma swój buton-submit oprócz tego jest jeszcze na końcu formularza powiedzmy buton "przejdź dalej" ale nie powinno być można przejść dalej jeśli wszystkie formy nie są zvalidowane pozytywnie. I taki zbiorczy komunikat błędów chciałbym wyświetlać na górze strony (często widać takie rozwiązania na stronach) Czy taka budowa formularza umożliwia zrobienie tego? czy może inaczej trzeba to zaprojektować? Czy przy wielu formach jest to możliwe do zrobienia? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 933 Pomógł: 460 Dołączył: 2.04.2010 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Za pomocą PHP - nie, za pomocą JS - tak.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 439 Pomógł: 0 Dołączył: 3.06.2010 Ostrzeżenie: (50%) ![]() ![]() |
najlepiej PHP, ale jeśli się nie da to proszę o inne sugestie
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 933 Pomógł: 460 Dołączył: 2.04.2010 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Już wspomniałem, w PHP się nie da, bo musisz wysłać formularz, żeby utworzyć zmienne, a kilku form-ów naraz nie wyślesz. Tylko za pomocą JS możesz zwalidować te pola "w locie". Więc moja sugestia - użyj JS (nie mówię stricte o JS, może to być również jakaś biblioteka).
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 439 Pomógł: 0 Dołączył: 3.06.2010 Ostrzeżenie: (50%) ![]() ![]() |
Ok dzięki, też dochodzę do tego wniosku,
Czyli zrobić to tak mniej więcej (w pseudokodzie):
wtedy wyślę formy po kolei i jeśli któraś nie przejdzie walidacji to zgłosi błąd Czy tak to rozwiązać? |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 72 Pomógł: 16 Dołączył: 21.06.2013 Ostrzeżenie: (0%) ![]() ![]() |
nie, jak zrobisz pierwszy submit to reszta się nie wyśle bo strona się odświeży.
chyba że przez submit masz na myśli wysłanie danych za pomocą AJAX to wtedy mniej więcej tak. Tylko najpierw wysyłasz i sprawdzasz odpowiedź jak są błędy to wyświetlasz jak nie ma to wysyłasz drugą itd. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 1 933 Pomógł: 460 Dołączył: 2.04.2010 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Masz dajmy na to takie formy:
Sprawdzasz po kolei wszystkie inputy za pomocą JS i jeśli wszystkie pola zwaliduje poprawnie to lecisz dalej. Jeśli do walidacji nie jest konieczne łączenie się z bazą to i Ajax nie będzie potrzebny.
Coś w ten deseń. |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 72 Pomógł: 16 Dołączył: 21.06.2013 Ostrzeżenie: (0%) ![]() ![]() |
Dodałbym tylko, że i tak na samym końcu zanim zapiszesz te dane gdzieś, musisz je zwalidować raz jeszcze po stronie serwera. Na wypadek gdyby użytkownik coś kombinował z javascriptem lub w ogóle go pominął.
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 2 707 Pomógł: 290 Dołączył: 16.12.2008 Skąd: Śląsk Ostrzeżenie: (0%) ![]() ![]() |
Jaki sens ma tworzenie 3 formularzy skoro one tworzą jedną logiczną całość (wnioskuje po "Przejdź dalej").
To ma tylko sens gdy te 3 formularze są oddzielne - służą do czegoś innego, ale wtedy oczywistym jest, że przy submit walidowany jest ten wysłany, a nie wszystkie. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 26.09.2025 - 06:30 |