Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] walidacja formularza jak zrealizowac
lnn
post
Post #1





Grupa: Zarejestrowani
Postów: 361
Pomógł: 11
Dołączył: 17.12.2008
Skąd: LU

Ostrzeżenie: (0%)
-----


Mam nastepujacy problem, zrobilem formularz i za pomoca get pobiera link do kolejnego kroku, a kolejne kroki sa w case'ach :/
wiec nie bardzo walidowac w kolejnym kroku bo wyswietla sie tam juz formularz nastepny

Chcialbym zrobic tak ze jak ktos nacisnie przycisk "przejdz dalej" to najpierw sprawdzi poprawnosc jego uzupelnienia a nastepnie przejdzie ewentualnie do kolejnej strony, czy ktos wie jak to rozwiazac??

Wiem ze rozwiazaniem byloby zrobienie tego w jednym pliku bo moznaby nie przeladowywac strony tylko efekty walidacji pokazywalyby sie na formularzu ale chcialem zademonstrowac mechanizm dzialania sesji bo to strona na zaliczenie :/

DZieki za wszelkie wskazowki lub rozwiazania tego problemu

Ten post edytował lnn 20.01.2010, 00:08:46
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
lnn
post
Post #2





Grupa: Zarejestrowani
Postów: 361
Pomógł: 11
Dołączył: 17.12.2008
Skąd: LU

Ostrzeżenie: (0%)
-----


wlasnie chcialem uzyc JS ale nie bardzo go znam, ale znalazlem gotowe rozwiazanie

http://republika.onet.pl/2563,34,1,,fabryka.html

  1. testFormularza={
  2. rodzajePol:{
  3. niepuste:[/.+/,'Proszę wypełnić pole'],
  4. email:[/^[\w\.-]{2,}@[\w\.-]+\.[a-z]{2,5}$/,'Proszę podać prawidłowy adres e-mail'],
  5. liczbacalkowita:[/^\d+$/,'Prawidłową wartością tego pola jest liczba całkowita'],
  6. liczbarzeczywista:[/^(\d+|\d+,\d+)$/,'Proszę podać liczbę rzeczywistą (można użyć przecinka)'],
  7. data:[/^\d+\-\d+\-\d{4}$/,'Proszę wpisać datę w formacie DD-MM-RRRR (numer dnia-numer miesiąca-rok) np. 23-02-2003'],
  8. kodpocztowy:[/^\d{2}\-\d{3}$/,'Proszę podać kod pocztowy np. 06-600'],
  9. m20m100:[/^.{20,100}$/,'Proszę wpisać nie więcej niż 100 znaków, ale też nie mniej niż 20.'],
  10. duzelitery:[/^[A-Z]+$/,'Proszę używać wyłšcznie dużych liter w tym polu'],
  11. url:[/^http\:\/\/.+\.[a-z]{2,5}$/i,'Proszę podać prawidłowy adres strony www np. <a href="http://strona.pl'" target="_blank">http://strona.pl'</a>]
  12. },
  13. testuj:function(f){
  14. var i,rodz;
  15. for(i=0;i<f.elements.length;i++){
  16. E=f.elements[i];
  17. if(rodz=this.rodzajePol[E.getAttribute('rodzajpola')])
  18. if(!rodz[0].test(E.value)){
  19. E.focus();
  20. E.select();
  21. alert('"'+E.value+'" nie jest prawidłową wartością tego pola formularza!\n'
  22. +(E.getAttribute('komunikat')||rodz[1]));
  23. return false;
  24. }
  25. }
  26. return true;
  27. }
  28. }

z tym ze atrybut
  1. rodzajpola=""
  2. <!--- najlepiej zamienic na cos zgodnego z W3C np. --->
  3. id=""
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 12.10.2025 - 20:48