Class formulaire
Posté : 24 avr. 2006, 12:41
Bonjour, j'ai fait une classe pour un formulaire avec de l'aide, et j'ai un pb...
Je fait plusieurs contrôles comme par exemple si c'est le format mail qui est choisi, je fais la véification que le mail soit bien au bon format etc...
Mais là, j'ai deux champs mot de passe, et je voudrais que qd ils ne sont pas égaux, une erreur s'affiche, seulement, comment faire pour travailler sur deux champs à la fois?
Voici une partie du code :
Il faudra dc rajouter un message d'erreur...
Ensuite la fonction pour ajouter un champ
Merci mille fois d'avance, c'est très important pour moi...[/code]
Je fait plusieurs contrôles comme par exemple si c'est le format mail qui est choisi, je fais la véification que le mail soit bien au bon format etc...
Mais là, j'ai deux champs mot de passe, et je voudrais que qd ils ne sont pas égaux, une erreur s'affiche, seulement, comment faire pour travailler sur deux champs à la fois?
Voici une partie du code :
$erreur_message = array("min" => "caractères minimum",
"max" => "caractères maximum",
"email" => "courriel non valide",
"vide" => "champ obligatoire",
);
alors ça c'est pr gérer les messages d'erreur comme vous pouvez vous en douter(tout les codes st des extraits, il y a d'autres messages d'erreur)...Il faudra dc rajouter un message d'erreur...
Ensuite la fonction pour ajouter un champ
function ajoutChamp($label, $nom, $type, $format=null, $oblig=true, $min=null, $max=null) {
$this->champ_cour = sizeof($this->champs);
$this->champs[$this->champ_cour] = new ClasseFormChamp($label, $nom, $type, $format, $oblig, $min, $max);
}
Puis celle pour les champs apssword en particulier : function ajoutChampPassword($label, $nom, $min=null, $max=null) {
$this->champ_cour = sizeof($this->champs);
$this->champs[$this->champ_cour] = new ClasseFormChamp($label, $nom, "password", "", true, $min, $max);
$this->champs[$this->champ_cour]->valCtlLimites($this->taille_std, 100);
}
Puis ça pour définir les champs
function ClasseFormChamp($label, $nom, $type=null, $format=null, $oblig=true, $min=null, $max=null) {
$this->label = $label;
$this->nom = $nom;
$this->type = $type;
$this->format = $format;
$this->taille_min = $min;
$this->taille_max = $max;
$this->oblig = $oblig;
if (($type == "select") || ($type == "checkbox") || ($type == "radio")) {
$this->valeur = array();
$this->options = array();
}
else {
$this->valeur = null;
$this->options = null;
}
$this->descro = null;
if ($type == "checkbox") $this->multiple = true;
else $this->multiple = false;
$this->fonction = null;
$this->ctl_taille1 = null;
$this->ctl_taille2 = null;
$this->fin_ligne = null;
Il ya aussi ça :
function afficherFormPassword() {
$html .= "<input class='form-input' type='password' name='$this->nom' size='$this->ctl_taille1'";
if ($this->ctl_taille2) $html .= " maxlength='$this->ctl_taille2'";
if ($this->valeur) $html .= " value='" . $this->valeur . "' />";
else if ($this->descro) {
$html .= " value='" . htmlentities(stripslashes($this->descro), ENT_QUOTES) . "'";
$html .= " onFocus='this.value=\"\"' />";
}
else $html .= " value='' />";
return $html;
}
Ensuite, il y a pleins de verif comme celles ci :
function valObligatoire() {
if ($this->oblig) return true;
else return false;
}
Ou celle-ci :function controlerEmail($valeur) {
if (preg_match("/^[\w|-]+(\.[\w|-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*$/", $valeur)) return true;
else return false;
}
Voilà, si vous avez besoin d'autres bout de code, ou d'explication , n'hesitez pas...Merci mille fois d'avance, c'est très important pour moi...[/code]