Jakie są moje opcje używania tego samego kodu JavaScript do sprawdzania po stronie klienta i po stronie serwera (Node.js)?Walidacja JavaScript działa zarówno na kliencie, jak i na serwerze Node.js?
Odpowiedz
Brak, walidujesz całkowicie różne kryteria po stronie serwera. Sprawdzanie poprawności po stronie klienta jest czysto kryterium akceptacji użytkownika i nie ma nic wspólnego z bezpieczeństwem. Walidacja po stronie serwera prawie wyłącznie dotyczy bezpieczeństwa.
Nie zgadzam się. Ignorując XSS i inne wtryski, wciąż chcę sprawdzić, czy pole formularza ma długość X znaków i jest kodem pocztowym. W przeciwnym razie nic nie powstrzymałoby mnie przed wejściem do Firebug i zmianą wartości przesłanych na serwer. Korzystanie z JavaScript zarówno na kliencie, jak i na serwerze oznaczałoby ponowne użycie kodu. Byłoby głupio tego nie robić. –
Nie można zignorować XSS i innych luk iniekcyjnych, więc nie ma to znaczenia. – austincheney
Myślę, że jego punkt wydaje się prawidłowy. Chcę zweryfikować, czy wiadomość e-mail jest adresem e-mail zarówno klienta, jak i serwera, bez jednoczesnego wpisania dokładnie tego samego kodu w tym samym języku. Zobacz ten klejnot rails na przykład: https://github.com/bcardarella/client_side_validations – rgbrgb
Spójrz na revalidator. Jest opisany jako "walidator krzyżowy/node.js używany przez zaradny i płaski".
- 1. NoRouteToHostException na kliencie lub serwerze?
- 2. GWT: używaj DateTimeFormat na kliencie i SimpleDateFormat na serwerze
- 3. Aplikacja sieci web istnieje zarówno na lokalnym serwerze internetowym IIS, jak i na serwerze IIS Express
- 4. Jak używać przeglądarki React's BrowserRouter na kliencie i Java REST API (Spring Boot) na serwerze?
- 5. Obsługa wyjątków na serwerze, dostosowywanie argumentu niepowodzenia na kliencie
- 6. Jak zaimplementować nagrywanie WebRTC na serwerze Node.js
- 7. Jak korzystać z require.js na serwerze?
- 8. SEO dla aplikacji Backbone.js na serwerze apache - phantom.js i node.js?
- 9. Aplikacja Render Backbone.js na serwerze I klienta
- 10. Facebook login - jak rozwijać się zarówno na serwerze lokalnym, jak i na produkcji?
- 11. Gdzie rozmieścić aplikacje node.js na serwerze Linux?
- 12. Jak genearte JSON na kliencie
- 13. Wykonywanie javascript na serwerze IIS
- 14. Czy Node.js można uruchomić na serwerze Tomcat?
- 15. Wykonywanie transformacji jsx na kliencie
- 16. string.replace nie działa w serwerze ekspresowym node.js
- 17. Jak sprawdzić, czy połączenie zostało przerwane na serwerze node.js
- 18. Jak wykonać "usługę" uruchamiając moją aplikację Node.js na serwerze Ubuntu
- 19. JavaScript FAB framework na Node.js
- 20. Plik (i) nie jest na kliencie
- 21. JavaScript Data (dataString) zwraca NaN na konkretnym serwerze i przeglądarce
- 22. Kierowanie zarówno na .NET 3.5, jak i na Silverlight
- 23. Uruchamianie Gunicorn zarówno na http, jak i na https
- 24. Codeigniter, routing nie działa na serwerze produkcyjnym
- 25. Pusher nie działa na serwerze GoDaddy
- 26. Jak świadczenie usług OSGi na kliencie
- 27. Transformacja kolekcji Meteorytów: czy robi się to na serwerze lub na kliencie? lub to zależy
- 28. jak uciec apostrofów w Pythonie na serwerze mają być stosowane w JavaScript na Client
- 29. SSL HandShake na kliencie Java
- 30. unoconv nie działa na serwerze Ubuntu 12.04
Skończyło się na pisaniu mojej własnej weryfikacji. Zasadniczo mam model, np. Osoba, która ma na to walidację. Ten model Person istnieje zarówno na kliencie, jak i na serwerze. Gdy użytkownik wprowadza szczegóły dotyczące mojego FORMULARZA, wypełniam obiekt Person i sprawdzam go, przekazując informację zwrotną do nieprawidłowych pól. Po przesłaniu formularza do serwera, ponownie wypełniam obiekt Person i ponownie sprawdzę poprawność wartości otrzymanych od klienta. Jeśli wystąpi błąd, po prostu odeślę go do klienta. W ten sposób mogę ponownie użyć tego samego modelu zarówno na kliencie, jak i na serwerze, uruchomić testy jednostkowe i pokazać błędy za pomocą jquery. –