IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Validation de formulaire en Javascript ou pas ?


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2009
    Messages : 171
    Par défaut Validation de formulaire en Javascript ou pas ?
    Bonjour à tous,

    je m'heurte à un problème de conception.

    A l'heure actuelle, l'utilisateur peut encore désactiver javascript.
    Est-il bon alors de coder nos validations de formulaire en javascript?

    y a-t-il une solution à cette désactivation possible?

    Qu'en est-il alors des librairies comme Bootstrap qui utilise Jquery par exemple?

    Merci

  2. #2
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Par défaut
    Même si JavaScript est activé, le code client est visible et modifiable par le client. Donc il faut toujours valider les entrées côté serveur, comme une forteresse à protéger. Règle numéro 1 du back-end : Never trust client.

    En premier lieu il faut donc coder la validation côté serveur et la tester avec des requêtes "non orthodoxes". Il y a des logiciels spécialisés qui analysent les sites web et spamment le serveur en testant des failles courantes dans les champs de formulaires.

    Une fois que tu es certain que ton serveur est blindé, alors on peut envisager d'utiliser en complément la validation HTML5 / JavaScript . La validation côté client est intéressante pour 3 raisons :
    - accompagner l'utilisateur dans la saisie
    - ajouter de la sémantique au formulaire (à condition d'utiliser les standards HTML5)
    - ne pas requêter inutilement le serveur quand on sait que le formulaire est incorrect

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2009
    Messages : 171
    Par défaut
    Merci. je partais dans ce sens.

    Mais qu'en est-il, par exemple, des menus déroulants, animations, etc...
    Ils existe énormément de sites qui utilisent le javascript, mais quelles parades utilisent-ils pour palier à la désactivation du javascript?
    Leur site ne fonctionne pas et ils ne s'en tracassent pas?

    Y a-t-il moyen de savoir si le javascript a été désactivé du côté client?

    Merci

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    il y a en effet moyen de tester si js est activé ou non et prévoir cela pour le comportement du formulaire.
    Tu peux par exemple afficher un message sur la page disant qu'elle est prévue pour fonctionner avec js.
    et coller un script au chargement qui efface ce message
    => js activé le message n'apparait pas
    => js désactivé le message apparait

    Mais c'est tout de même assez rare

    Tu peux aussi mettre un form sans js et le remplacer au chargement par un form avec js ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Rédacteur/Modérateur

    Avatar de SylvainPV
    Profil pro
    Inscrit en
    Novembre 2012
    Messages
    3 375
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2012
    Messages : 3 375
    Par défaut
    Si bien sûr il y a plusieurs apporoches pour palier à l'absence de JavaScript :

    - JavaScript "isomorphique" ou "universel", c'est-à-dire utiliser la même base de code côté client et côté serveur pour pouvoir générer les vues avec ou sans le support JS client
    - amélioration progressive (Progressive enhancement) ; faire en sorte que sans JS le site soit toujours fonctionnel bien que dégradé
    - redirection ; rediriger vers une autre page si JS est désactivé avec une balise <meta>:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <noscript>  <meta http-equiv="refresh" content="0;url=noscript.html">
    </noscript>

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2009
    Messages : 171
    Par défaut
    Je comprend bien tout ce que vous dites d'un point de vue validation de formulaire.

    Je vois moins bien, par exemple, d'un point de vue animation.

    Je m'explique.

    Je me suis lancé dans Bootstrap qui utilise le javascript, plus précisément JQuery pour de petites animations comme pour les dropdown.

    Nom : dropdown.PNG
Affichages : 178
Taille : 8,0 Ko

    Lorsque le javascript est désactivé la liste ne s'affiche pas.

    Il faudrait donc, lorsque le javascript est désactivé, que la flèche vers le bas ne soit pas affichéd et que le lien dirige sur une page avec les liens qui auraient dû s'afficher dans la dropdown.

    Ce que je n'arrive pas à comprendre, c'est que le test ne se fait que dans un sens.

    si pas de javascript possible alors ....

    Mais pas de test inverse...

    Ou alors il faut tout générer par javascript ce qui doit être utilisé quand javascript est actif?

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Validation de formulaire et Javascript
    Par Kuky18 dans le forum Langage
    Réponses: 4
    Dernier message: 07/05/2012, 23h26
  2. Validation de formulaire en javascript et envoi en PHP
    Par Knutt dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 20/02/2011, 22h09
  3. Réponses: 4
    Dernier message: 20/02/2011, 12h32
  4. valider un formulaire avec javascript
    Par x2thez dans le forum jQuery
    Réponses: 9
    Dernier message: 29/06/2009, 20h51
  5. Validation de formulaire en javascript
    Par crocodingo dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 02/05/2007, 17h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo