Controle de validite

Fermé
kalidou - 6 mai 2010 à 13:23
avion-f16 Messages postés 19250 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 22 décembre 2024 - 6 mai 2010 à 19:20

bonjour je travaille sur un projet php
j'aimerais savoir comment faire une controle de validite avec javascript sur mes formulaires php

2 réponses

Un formulaire c'est toujours en html, et non en php.
Il est un temps où je contrôlais mes données en javascript. Mais avec de l'expérience, je préfère les contrôler du côté serveur, c'est-à-dire en php.

Dans la balise "form", vérifiez bien que vous avez renseigné l'attribut "method" à "post", et l'attribut "action" par le fichier php qui va traiter le formulaire.
Dans ce fichier php, récupérer les données avec la variable "$_POST".
Par exemple, si un de vos champs s'appelle "nom", récupérer le nom par "$_POST['nom']".

ensuite, il ne reste plus qu'à contrôler tous les champs en fonction de votre règle de gestion.
1
avion-f16 Messages postés 19250 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 22 décembre 2024 4 505
6 mai 2010 à 19:20
La vérification côté client doit être accessoire, ce qui n'est pas le cas de la vérification côté serveur.

Pour détecter l'envoie d'un formulaire en Javascript, on peut utiliser l'évènement onsubmit (directement sur la balise, mais je préfère tout mettre dans le script JS et ne laisser aucune trace dans le HTML).

Pour annuler l'envoie du formulaire, il suffira de faire un "return false;".

Exemple :
window.onload = function() {
    var formulaire = document.forms[0];
    var champNom = formulaire.elements['nom'];
    var champPrenom = formulaire.elements['prenom'];

    formulaire.onsubmit = function() {
        var nbErreurs = 0;
        var msgErreurs = '';

        if(champNom.value.length == 0) {
            nbErreurs++;
            msgErreurs += 'Le champ "Nom" est vide.<br/>';
        }
        if(champPrenom.value.length == 0) {
            nbErreurs++;
            msgErreurs += 'Le champ "Prénom" est vide.<br/>';
        }

        if(nbErreurs > 0) {
            alert(msgErreurs);
            return false;
        }
    };
};
0