Witam,
chciałbym się zapytać o systemy walidacji danych w panelu rejestracyjnym. Aktualnie posiadam system wykorzystujący JavaScript(alert) - po stronie przeglądarki oraz zwykłe tekstowe (echo), które działa po stronie serwera. Która wersja jest lepsza? Czy lepiej mieć dwie czy wystarczy sama walidacja w JavaScript?
Oba, szczególnie że nie wszystko da się walidować po stronie JS. Ale zamiast alerta przy wysyłaniu formularza zrobiłbym ajaxowe walidatory reagujące na utratę focusa przez kontrolkę.
Musisz mieć dwa "systemy" walidacji, jeden po stronie serwera, bo klientowi nigdy nie wolno ufać, drugi po stronie przeglądarki, żeby użytkownikowi było wygodniej.
system walidacji i logike walidacji miej zawsze jedna zeby nie isc wbrew zasadzie DRY. wiec w PHP trzymaj logike ktora bedzie walidowac, zas w JS dobuduj tylko komunikacje ktora bedzie odpalac logike w php na zadanie, czy to po nacisnieciu przycisku czy utracie focusa to jzu do woli. waldiacja po stronie serwera jest obowiazkiem a po stronie js wygoda, ale moze poalczyc te dwie i bedzie bezpiecznie, dobrze i wygodnie.
nie słuchaj pana wyżej
walidacja po stronie klienta jest po to żeby nie musiał czekać na wynik od serwera (co trwa znacznie dłużej)
poza tym chodzi też o to żeby odciążyć serwer od dużej ilości zapytań
jeśli nie chcesz powtarzać się to możesz użyć jakiegoś frameworka lub użyć własnego skryptu który na podstawie ograniczeń w jednym miejscu wygeneruje odpowiedni javascript i php jednocześnie, ale zazwyczaj dużo łatwiej po prostu się powtórzyć (tym bardziej że walidacja po stronie javascriptu wygląda inaczej i może na przykład zaznaczać odpowiednie pola - nie nadaje się tutaj kod php)
Wydaje mi się że najlepszy sposobem na wykonanie takiego systemu rejestracji, to walidować formularz przy pomocy jquery / js na poprawność wprowadzonych danych (Format, Lenght, Regex na warunki). Natomiast po stronie serwera wykonać pełną walidację, włącznie ze sprawdzeniem bazy pod kątem istnienia aktualnego użytkownika.