2010-01-13 4 views
8

simple question vraiment (peut hasarder une hypothèse mais juste besoin de se assurer),Est-il possible d'avoir la validation côté client sans Javascript

juste besoin d'un Oui/Non réponse que ne peut pas sembler claify partout.

Raison? Pages Web pour les téléphones, où le support javascript est "sommaire" parmi tous les navigateurs mobiles, supprimant ainsi complètement tout javascript et se demandant s'il y a des alternatives. Bien sûr, avant que quelqu'un ne me le dise, j'implémente par défaut la validation côté serveur, mieux si possible de valider tout de suite sur le client car l'entrée de texte du téléphone n'est pas particulièrement agréable à passer plusieurs fois. aussi page Web est asp.net 2.0 & C# devrait-il affecter quoi que ce soit)

Répondre

16

non, il n'y a pas. Je veux dire, évidemment, la réponse la plus impliquée est "Oui, bien sûr, il y a d'autres types de systèmes de script côté client (Flash/Silverlight/ActiveX/etc) qui peuvent le faire", mais dans le contexte de votre question (téléphone), la réponse est non

Je ne suggère, cependant, que vous pourriez être surpris de ce que exécuter JavaScript téléphones. Gardez-base, et le garder tel qu'il échoue avec élégance (à savoir pas de mal vient à la fonctionnalité de l'application avec JS désactivé) et vous serez probablement surpris de la compatibilité.

+2

Je suis d'accord avec soyeux. De plus, la validation côté client IMHO ne peut pas être approuvée de toute façon et n'est utile que pour des raisons de performances et de prétraitement. L'entrée doit être validée correctement au niveau du serveur, donc si elle échoue sur le client, elle sera toujours validée côté serveur. Eh bien, cela dépend évidemment de votre application et du marché. – Valentin

+0

En fait, les scripts côté client peuvent améliorer la convivialité de l'application et ne sont pas seulement utiles pour les performances et le pré-traitement. –

+0

@Valentin, entièrement d'accord. La validation côté client est idéale pour les performances, mais je ne ferais pas confiance à mon intégration de données pour que celle-ci puisse être désactivée aussi facilement. Mais là encore, la validation aux deux frontières fonctionne très bien. – AshtonKJ

2

Oui - mais seulement dans une gamme encore plus limitée des navigateurs que ceux qui soutiennent (et ont permis) JS.

par exemple. Vous pouvez utiliser client side VBScript.

+0

Comment est-ce possible? –

+0

Utilisation de VBScript? De la même façon, il est possible d'utiliser Javascript, mais seulement dans IE. –

1

Pas vraiment. Le HTML lui-même ne permet que de limiter la longueur maximale d'une zone de texte, qui est une sorte de "validation" (par restriction).

Mais encore une fois - très nombreux navigateurs mobiles ne fonctionnent JavaScript, même « Opera Mini » ne supporte les choses de JS de base (ou non que base?). Mobile Opera a un support complet JS, IE - aussi.

Il y a une belle liste de who-can-do-it sur QuirksMode.org (ici: http://www.quirksmode.org/m/table.html)

3

HTML lui-même permet une très peu de validation (maxlength des formes d'entrée, qui n'est pas beaucoup, comme une validation).

Ce qui signifie que vous avez besoin de "plus", pour faire une validation réelle/utile côté client ... , si vous voulez quelque chose qui fonctionne dans presque tous les navigateurs, c'est accessible, cela n'ennuie pas l'utilisateur.



En guise de note: n'oubliez jamais la validation côté serveur!
(Oui, vous l'avez dit dans votre question - mais il n'a jamais dit trop de fois ^^)

1

Une chose que je suggère regarder est le Mobile Device Browser File - vous déclarez que vous utilisez ASP .NET 2.0, à condition que votre serveur soit à jour (c'est-à-dire que .NET Framework 2.0 SP2 soit installé), vous devriez être capable de l'utiliser.

Cela aidera votre site à déterminer quel navigateur affiche votre site, ce qu'il supporte en termes de contrôles, etc., et vous aidera à répondre de manière appropriée aux demandes.

I.e. Si vous savez à l'avance que le navigateur ne supporte pas JavaScript, vous pouvez supprimer complètement la validation côté client et ne pas envoyer tout le balisage supplémentaire au navigateur, rendant ainsi leur expérience du site encore plus propre.

1

Fondamentalement, non.

Si votre marché comprend les navigateurs qui prennent en charge les nouveaux types d'entrée HTML5, il y a des choses très simples que vous pouvez faire là-bas: http://diveintohtml5.ep.io/forms.html

Au-delà cependant, Javascript est vraiment la seule option réelle côté client.

(Il pourrait également être fait dans VBScript, mais seulement dans Internet Explorer)

2

Non, il n'y a rien à l'exception de javascript pour le côté client pour la validation du côté client pour le moment.
Mais il semble que HTML5 a quelques tags intéressants qui vont aider. http://dev.w3.org/html5/spec/forms.html

Questions connexes