2010-01-13 15 views
8

semplice domanda in realtà (può azzardare un'ipotesi, ma solo bisogno di assicurarsi),E 'possibile avere la convalida lato client senza Javascript

solo bisogno di una risposta sì/no come non riesco a claify ovunque.

Motivo? Pagine Web per telefoni, in cui il supporto javascript è "abbozzato" tra tutti i browser mobili, eliminando completamente qualsiasi javascript e chiedendosi se ci sono alternative.

(anche prima che qualcuno mi dice di tutto, io sono ovviamente Implementare la validazione lato server di default, meglio se possibile validare roba subito sul client come voce di testo telefono non è particulaly divertente per passare attraverso più volte. Anche la pagina web è asp.net 2.0 & C# dovrebbe interessare qualsiasi cosa)

risposta

16

No, non c'è.

Voglio dire, ovviamente, la risposta più implicita è "Sì, certo, ci sono altri tipi di sistemi di scripting lato client (Flash/Silverlight/ActiveX/etc) che possono farlo", ma nel contesto di la tua domanda (telefoni) quindi la risposta è No.

Suggerisco, tuttavia, che si può essere sorpresi di ciò che i telefoni eseguono JavaScript. Mantienilo di base e mantienilo in modo tale che fallisca con garbo (cioè, nessun danno viene alla funzionalità dell'app con JS disabilitato) e probabilmente sarai sorpreso della compatibilità.

+2

Sono d'accordo con la seta. Anche la convalida lato client IMHO non può essere considerata attendibile ed è utile solo per motivi prestazionali e di pre-elaborazione. L'input deve essere validato correttamente su Server Side, quindi se fallisce sul client, verrà comunque convalidato sul lato server. Beh, ovviamente dipende dall'applicazione e dal mercato. – Valentin

+0

In realtà lo scripting lato client può migliorare l'usabilità dell'applicazione e non è utile solo per le prestazioni e la pre-elaborazione. –

+0

@ Valentin, pienamente d'accordo. La validazione lato client è ottima per le prestazioni, ma non mi fiderei della mia integratività dei dati per qualcosa che possa essere disattivato così facilmente. Ma poi di nuovo, la validazione a entrambi i confini funziona davvero bene. – AshtonKJ

2

Sì, ma solo in un numero ancora più limitato di browser rispetto a quelli che supportano (e hanno abilitato) JS.

ad es. Potresti usare client side VBScript.

+0

Com'è possibile? –

+0

Utilizzo di VBScript? Allo stesso modo è possibile utilizzare Javascript, ma solo in IE. –

1

Non proprio. L'HTML stesso consente solo di limitare la lunghezza massima di una casella di testo, che è una sorta di "validazione" (per restrizione).

Ma poi di nuovo - molti browser mobili eseguono JavaScript, anche "Opera Mini" supporta le cose di base (o non quelle di base?) Di JS. Mobile Opera ha il supporto JS completo, anche IE.

C'è una bella lista di chi-can-do-it sul QuirksMode.org (qui: http://www.quirksmode.org/m/table.html)

3

HTML si lascia per un po 'poco di convalida (la maxlength delle forme di ingresso, che non è molto, come una convalida).

Il che significa che è necessario "di più", per fare vera validazione/utile sul lato client ... , se si desidera qualcosa che funziona in quasi tutti i browser, che è accessibile, che non infastidire l'utente,. ..


Come nota a margine: non dimenticare mai la convalida sul lato server!
(Sì, lei ha detto che nella tua domanda - ma non è mai detto troppe volte ^^)

1

Una cosa mi piacerebbe suggerire a guardare è il Mobile Device Browser File - dichiarate che si sta utilizzando ASP .NET 2.0, quindi a condizione che il tuo server sia aggiornato (ovvero abbia installato .NET Framework 2.0 SP2), dovresti essere in grado di usarlo.

Questo aiuterà il vostro sito a determinare quale browser sta visualizzando il vostro sito, cosa supporta in termini di controlli, ecc., E vi aiuterà a rispondere in modo adeguato alle richieste.

I.e. se si sa in anticipo che il browser non supporta JavaScript, è possibile rimuovere completamente la convalida del lato client e non inviare tutti i markup extra al browser, rendendo la loro esperienza del sito ancora più pulita.

1

Fondamentalmente, no.

Se il mercato comprende i browser che supportano i nuovi tipi di input HTML5, ci sono alcune cose molto semplici che si possono fare lì: http://diveintohtml5.ep.io/forms.html

di là di questo, però, Javascript è davvero l'unica vera opzione sul lato client.

(Potrebbe anche essere fatto in VBScript, ma solo in Internet Explorer)

2

No, non c'è niente tranne che per JavaScript per lato client per la validazione lato client per il momento.
Ma sembra che HTML5 abbia alcuni tag interessanti che aiuteranno. http://dev.w3.org/html5/spec/forms.html

Problemi correlati