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

HTML Discussion :

Modification pattern balise input password


Sujet :

HTML

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 29
    Par défaut Modification pattern balise input password
    Voici mon petit soucis, je souhaiterai dans le cas d'une modification des informations d'un compte, que l'on puisse avoir la possibilité de changer ou non le mot de passe.

    Dans le cas de la création de compte, j'ai pus interdire la saisie d'un mot de passe ayant moins de 6 caractères via cette définition du input :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <div class="field">
        <label for="mdp">Mot de passe</label>
        <input type="password" name="mdp" size="50" pattern=".{6,}" required title="6 caractères minimum" onchange="form.mdp_confirm.pattern = this.value;"/>
    </div>
    <div class="field">
        <label for="mdp_confirm">Confirmation mot de passe</label>
        <input type="password" name="mdp_confirm" size="50" required title="Les mots de passe doivent être identiques" />
    </div>
    Mais dans le cas de modification, je souhaiterai avoir la possibilité de ne pas changer le mot de passe et pour cela valider le formulaire sans avoir saisi de mot de passe, hors je n'arrive pas a définir d'expression régulière dans le pattern, me permettant de passer le contrôle si je met rien dans le champ.

    Bon, je sais que ça serait facilement faisable par javascript, mais si je peux éviter, ça serai bien.

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Dude. "required" !

    Par ailleurs, c'est pas un pattern que tu veux vérifier.
    Si le user tape en mot de passe "a.b.c" et en confirmation "a;b/c" il faut que ce soit refusé parce que c'est pas les mêmes. C'est un peu le principe...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 29
    Par défaut
    Et zut de zut, tellement omnibulé par ce pattern, que j'ai complètement omis de retirer le required de mon copié/collé du formulaire de création de compte.
    Donc ba merci de m'avoir ouvert les yeux sur ma bêtise ^_^.

    Après, effectivement la copie de la valeur du premier champs vers le pattern du second champs, n'ai pas cohérent si l'utilisateur saisie des caractères, tel qu'un point. J'ai donc remplacé le pattern du mot de passe ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="password" name="mdp" size="50" pattern=".[a-zA-Z0-9]{6,}" required title="6 caractères alphanumériques minimum" onchange="form.mdp_confirm.pattern = this.value;"/>
    ce qui fait que les caractères interprétables par expression régulière ne sont plus autorisés.

    Cependant, maintenant, si je ne sais plus de mot de passe dans le premier champ, mais un dans la confirmation, le pattern de confirmation = "", du coup ça passe à la validation.
    La page php bouclant sur elle même pour faire la vérification et l'enregistrement, je vais ajouter le code de vérification en php, ça me permettra d'ajouter un message d'erreur dans un label.

    Merci encore pour le coup de pouce.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 29
    Par défaut
    Afin de répondre à la question initiale, voila ma modification qui résolve les diverses problématiques énoncées :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <div class="field">
        <label for="mdp">L{password}</label>
        <input type="password" name="mdp" size="50" pattern=".[a-zA-Z0-9]{6,}" title="L{6_min_character}" onchange="form.mdp_confirm.pattern = (this.value == '' ? '.[a-zA-Z0-9]{6,}' : this.value);"/>
    </div>
    <div class="field">
        <label for="mdp_confirm">L{password_confirm}</label>
        <input type="password" name="mdp_confirm" size="50" pattern=".[a-zA-Z0-9]{6,}" title="L{pwd_match}" />
    </div>
    Les tokens L{} sont des variables de traduction automatique

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

Discussions similaires

  1. balise input dans DIV
    Par lapartdombre dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 06/02/2006, 17h04
  2. [CSS] personnaliser les boutons des balises INPUT
    Par Leviathan_72 dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 08/11/2005, 15h22
  3. type "file" pour la balise input
    Par fa_say dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 23/09/2005, 15h13
  4. [DEBUTANT] CSS balise input
    Par nine dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 23/03/2005, 13h40
  5. police dans balise input et select
    Par le_ben dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 11/03/2005, 14h54

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