Bonjour,

Voilà avant de traité mon formulaire je fais un contrôle de saisie de mes champs. le problème est que ça coince à un endroit mais je ne sais pas pourquoi...
Voici mon code :
Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
function surligne(champ, erreur){
    if(erreur)
        champ.style.backgroundColor = "#fba";
    else
        champ.style.backgroundColor = ""; 
}
 
function verifNom (champ){
    var regex = /^[A-Z -]+$/;
 
    if (!regex.test(champ, true)){
        surligne(champ, true);
        return false;
    }
    else{
        surligne(champ, false);
        return true;
    }
}
 
function verifPrenom (champ){
    var regex = /^[a-zA-Z -]+$/;
    if (!regex.test(champ, true)){
        surligne(champ, true);
        return false;
    }
    else{
        surligne(champ, false);
        return true;
    }
}

Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
function profile (){
    include('../../config/connexion-bdd.php');
    $utilisateurConnecte=$_POST['utilisateur-connecte'];
 
    //récuperation des utilisateurs ayant le même login que l'utilisateur connecté
    $req="SELECT nom, prenom, email, identifiant FROM utilisateurs WHERE identifiant='".$_SESSION['identifiant']."'";
    $res= $connect->query($req);
    //var_dump($res);
 
    if ($row = $res->fetch(PDO::FETCH_ASSOC)){
            echo '<form id="formulaireMdp" name="nouveau-mot-de-passe" action="confirme-mot-de-passe.php" method="post" class="mot-de-passe" onsubmit="return validationProfile(this)">
              <fieldset>
                <legend>Profile</legend>
                <div class="content-mdp">
                    <label for="nom">Nom </label>
                    <input id="nom" type="text" name="nom" onblur="verifNom(this)" size="25px" value="'.$row['nom'].'"><br />
                  <label for="prenom">Prénom </label>
                    <input id="prenom" type="text" name="prenom" onblur="verifPrenom(this)" size="25px" value="'.$row['prenom'].'"><br />
                  <label for="email">E-mail</label>
                    <input id="email" type="text" name="email" onblur="verifEmail(this)" size="25px" value="'.$row['email'].'"><br />
                  <label for="identifiant">Identifiant</label>
                  <input id="identifiant" type="text" name="identifant" onblur="verifIdentifiant(this)" size="25px" value="'.$row['identifiant'].'"><br />
                    <input type="hidden" name="utilisateur-connecte" value="'. $_SESSION['identifiant'].'" />
                  <button id="auth-submit" type="submit" name="submit">Modifier</button>
                </div>';
        }
}

Mon problème est au niveau du nom et prénom. Selon mon expression (/^[A-Z -]+$/) si je rentre un nom du type "THIBAULT" ce dernier ne devrait plus être souligné, mais rien à faire...
Et c'est le même problème avec le prénom. l'expression est "/^[a-zA-Z -]+$/" et si je rentre un prénom du type "Thibault" il est toujours souligné ...

Voici le problème en image :

Nom : regex-pb.png
Affichages : 453
Taille : 3,9 Ko

Merci d'avance !