classe php

Télécharger xbp_form (classe formulaire)

Une fonction de la classe de formulaire xbp_form permet de rendre ou non des champs obligatoires.
Il est impératif d'avoir compris l'exemple de base de creation de formulaire.

La fonction

function checkForm($var, $er = 1){
   if (empty($var)) return false;

   $tab_arg = func_get_args();
   array_shift($tab_arg); array_shift($tab_arg);

   foreach($var as $key => $value){
      $lID = $this->getID($key);
      if($lID >= 0){
         if (empty($value) && (
               ($er == 1 && !in_array($key, $tab_arg) && $this->_elements[$lID]['TypeHTML'] != 'checkbox' ) ||
               ($er == 2 && in_array($key, $tab_arg))
                              )
            ) $tab_er[] = $key;
      }
   }

   if (isset($tab_er)) return $tab_er;
   else return true;
}

 

Formulaire pour l'exemple

Nous partirons toujours du formulaire suivant. Voici comment il se présente ainsi que son code. Au cas où, vous pouvez allez voir "comment créer un formulaire ?".

Dans l'exemple de base, tous les champs sont obligatoires.

$f[] = array('Pseudo','text');
$f[] = array('Mail','text','pseudo@domaine.com');
$f[] = array('Texte','text');

if ($f->checkForm($_POST, 1) === true)
   echo 'Formulaire envoyé';

echo $f->generateTableHTML();

Pseudo :
Mail :
Texte :
 
 

Utilisation de base : tous les champs obligatoires

Pour rendre tous les champs obligatoires, il suffit de mettre le deuxième paramètre à "1".
 
$f->checkForm($_POST, 1);

Le premier paramètre permet de savoir où se trouve les données : $_POST ou $_GET

 

Aucun champ obligatoire

Pour qu'aucun champ soit obligatoire, il suffit de mettre le deuxième paramètre à "2".
 
$f->checkForm($_POST, 2);
 

Tous les champs obligatoires sauf ...

Un peu plus dur maintenant.
Si on veut rendre tout obligatoire, sauf un champ, par exemple le champ mail.
Il suffit de l'inscrire en paramètre.
 
$f->checkForm($_POST, 1, 'Mail');

Bien évidement on peut mettre autant de champs qu'on veut à la suite.

 

Aucun champ obligatoire sauf ...

...Et inversement.
Rien est obligatoire sauf mail.
 
$f->checkForm($_POST, 2, 'Mail');
xbplog.com © 2006-2013 / Xavier BOËT - LinkMan
PHP Annuaire LinkMan

php