2010-01-13 9 views
8

naprawdę proste pytanie (można zaryzykować, ale po prostu trzeba się upewnić),Czy to możliwe, że po stronie klienta Validation bez Javascript

prostu potrzebują odpowiedź tak/nie, jak nie może wydawać się claify wszędzie.

Powód? Strony internetowe dla telefonów, w których obsługa javascript jest "szkicowa" wśród wszystkich przeglądarek mobilnych, więc znikając z niczego javascript i zastanawiałem się, czy są jakieś alternatywy.

(Także zanim ktoś mi powie, oczywiście wdrażam walidację po stronie serwera, lepiej, jeśli to możliwe, aby sprawdzać poprawność od razu na kliencie, ponieważ wprowadzanie tekstu w telefonie nie jest szczególnie zabawne, aby przejść przez wiele razy. Również strona internetowa to asp.net 2.0 & C# jeśli ma to wpływ na cokolwiek)

Odpowiedz

16

Nie, nie ma.

Oczywiście, bardziej zaangażowana odpowiedź brzmi "tak, oczywiście, istnieją inne typy systemów skryptowych po stronie klienta (Flash/Silverlight/ActiveX/etc), które mogą to zrobić", ale w kontekście twoje pytanie (telefony) to odpowiedź brzmi:

Sugeruję jednak, że możesz być zaskoczony, jakie telefony uruchamiają JavaScript. Zachowaj to w sposób podstawowy i zachowaj go tak, aby nie działał z wdziękiem (to znaczy nie zaszkodziło funkcjonalność aplikacji z wyłączonym JS) i prawdopodobnie będziesz zaskoczony kompatybilnością.

+2

Zgadzam się z jedwabistą. Również weryfikacja po stronie klienta IMHO nie może być zaufana tak czy inaczej i jest przydatna tylko z powodów związanych z wydajnością i przetwarzaniem wstępnym. Dane wejściowe muszą być poprawnie sprawdzane po stronie serwera, więc jeśli nie powiedzie się na kliencie, nadal będzie sprawdzane po stronie serwera. To oczywiście zależy od twojej aplikacji i rynku. – Valentin

+0

W rzeczywistości skrypty po stronie klienta mogą zwiększyć użyteczność aplikacji i są przydatne nie tylko przy wydajności i wstępnym przetwarzaniu. –

+0

@Valentin, w pełni się zgadzam. Sprawdzanie poprawności po stronie klienta jest świetne dla wydajności, ale nie ufałbym mojej integralności danych, aby coś, co można tak łatwo wyłączyć. Ale znowu, walidacja na obu granicach działa naprawdę dobrze. – AshtonKJ

2

Tak - ale tylko w jeszcze mniejszej liczbie przeglądarek niż te, które obsługują (i włączają) JS.

np. Możesz użyć client side VBScript.

+0

Jak to jest możliwe? –

+0

Korzystanie z VBScript? W ten sam sposób jest możliwe za pomocą JavaScript, ale tylko w IE. –

1

Niezupełnie. Sam HTML pozwala ograniczyć maksymalną długość pola tekstowego, które jest pewnego rodzaju "sprawdzaniem poprawności" (przez ograniczenie).

Ale z drugiej strony - bardzo wiele przeglądarek mobilnych uruchamia JavaScript, nawet "Opera Mini" obsługuje podstawowe (lub nie podstawowe?) Rzeczy JS. Mobile Opera ma pełne wsparcie dla JS, IE - też.

Jest miły lista kto-can-do-it na QuirksMode.org (tu: http://www.quirksmode.org/m/table.html)

3

HTML sama pozwala na bardzo odrobiną walidacji (w MAXLENGTH formularzy wejściowych, które to niewiele, jako walidacja).

Co oznacza, że ​​potrzebujesz "więcej", aby wykonać prawdziwą/przydatną walidację po stronie klienta ... , jeśli chcesz, aby coś działało w prawie każdej przeglądarce, to jest dostępne, co nie denerwuje użytkownika,. ..


Jako sidenote: nigdy nie zapominaj o walidacji po stronie serwera!
(Tak, to powiedział w swoim pytaniu - ale to nigdy nie powiedział zbyt wiele razy ^^)

1

Jedno bym Proponuję patrząc na to Mobile Device Browser File - pan stwierdzić, że używasz ASP .NET 2.0, więc pod warunkiem, że twój serwer jest aktualny (tj. Ma zainstalowany system .NET Framework 2.0 SP2), powinieneś być w stanie go używać.

Pomoże to Twojej witrynie ustalić, która przeglądarka przegląda Twoją witrynę, co obsługuje pod względem kontroli itp. I pomóc Ci odpowiednio reagować na żądania.

tj. Jeśli wiesz z góry, że przeglądarka nie obsługuje JavaScript, możesz całkowicie usunąć sprawdzanie poprawności strony klienta i nie wysyłać wszystkich dodatkowych znaczników do przeglądarki, dzięki czemu korzystanie z witryny będzie jeszcze bardziej przejrzyste.

1

Zasadniczo nie.

Jeśli rynek obejmuje przeglądarek, które obsługują nowe typy wejściowych HTML5, istnieje kilka bardzo podstawowych rzeczy można tam zrobić: http://diveintohtml5.ep.io/forms.html

Poza tym jednak, Javascript jest naprawdę jedyną opcją rzeczywistym po stronie klienta.

(mogą być również wykonane w VBScript, ale tylko w przeglądarce Internet Explorer)

Powiązane problemy