![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 39 Pomógł: 1 Dołączył: 28.08.2015 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mam problem z formularzem rejestracji. Walidacja działa jedynie w przypadku pola 'username', w pozostałych przypadkach niestety nie. Zupełnie nie mam pojęcia gdzie może być błąd. Może wy coś doradzicie? register.php
validate.php
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 112 Pomógł: 22 Dołączył: 11.04.2010 Skąd: Tarnów Ostrzeżenie: (0%) ![]() ![]() |
Na końcu tej pętli masz return co skutkuje tym, że wykona się tylko 1 raz (czyli dla username w tym przypadku) i zakończy działanie niezależnie od wyniku walidacji. Co więcej użycie w else{ $this->_passed = true; } powoduje, że wystarczy, że jeśli tylko jedno będzie poprawne, a pozostałe złe to i tak wynik będzie true, $this odwołuje się do całego obiektu, a nie pojedynczych wartości. No i na dodatek if($rule === 'required' && empty($value)) sprawdzasz tylko czy w tablicy jest element "required", a nie sprawdzasz, czy ma wartość true czy false. Wywal to else, a return daj tam gdzie masz zakomentowany. Ten post edytował session 11.02.2016, 21:53:44 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 9.10.2025 - 09:40 |