Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] walidacja formularza- cała tablica POST
lnn
post
Post #1





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

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


witam

otoz kombinuje juz troche czasu, i nie chce sprawdzac 10 zmiennych $_POST poprzez wypisywanie kazdej, zapewne istnieje jakis sposob zeby to uproscic i sprawdzic cala tablice post czy zawiera wartosci? (IMG:style_emoticons/default/tongue.gif)

drugie pytanie to jak zrobic zeby formularz sie nie wyslal po wcisnieciu buttona submit tylko jesli wystapia bledy np walidacyjne to zeby w action:
  1. <form action="strona.php">
nie było nic (IMG:style_emoticons/default/tongue.gif) == nie nastapilo przeladowanie na kolejna strone?

z gory dzieki za odpowiedzi (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
darko
post
Post #2





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

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


1. Zakładając że funkcje walidujące istnieją i zwracają true jeśli wartość przeszła walidację, w przeciwnym razie false, to może coś takiego:
  1. foreach($_POST as $k => $v) {
  2. if(preg_match("/email/", $k) != 0) $email = validateEmail($v);
  3. if(preg_match("/pesel/", $k) != 0) $pesel = validatePesel($v);
  4. // itd.
  5. }
  6. // następnie
  7. if($email && $pesel && ...) {
  8. // ok
  9. } else {
  10. // error
  11. }


2.
  1. <form action="..." id="test" name="test" ... onsubmit="return validate();" ... >
  2. (...)
  3. <script type="text/javascript">
  4. /*
  5. tu walidujesz pola wyciągane po id formularza za pomocą document.getElementById('test').NAZWA_POLA_FORMULARZA.value
  6. lub poprzez odwałanie document.NAZWA_FORMULARZA.NAZWA_POLA_FORMULARZA.value
  7. czyli w powyższym przykładzie document.test.NAZWA_POLA_FORMULARZA.value
  8. jeśli wszystko ok:
  9. return true
  10. jeśli nie:
  11. return false
  12. formularz nie zostanie wysłany
  13. dalej możesz wyłapać sobie, które pola nie przeszły walidacji i zmienić ich styl np. dodać czerwony border + info co jest nie tak
  14. Dodatkowo możesz też zmienić action poprzez odwołanie document.getElementById('test').action = "NOWA_AKCJA.php";
  15. */


Ten post edytował darko 26.12.2009, 00:16:02
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: 10.10.2025 - 03:07