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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
|
<?php
include("validate.class.php");
//==============================================================================
//-------------- closures - les fonctions renvoient true ou false
//==============================================================================
// controle qu'un champ est rempli
$remplissage = function($array) {
$valeur = $array[0];
return (!empty($valeur)) ? true : false;
};
// exemple de contrôle combiné => controle les valeur des 2 champs options
$controleOption = function($array)
{
list($option1,$option2) = $array;
if ($option1==$option2)
{
return false;
}
return true;
};
// contrôle qu'une valeur est numérique
$numerique = function($array)
{
$valeur = $array[0];
return (is_numeric($valeur)) ? true : false;
};
//==============================================================================
$toto = new Validate();
$toto->addControl('Le nom n\'est pas renseigné',["nom"], $remplissage);
$toto->addControl('Le prénom n\'est pas renseigné',["prenom"], $remplissage);
//$toto->addControl("L'âge n'est pas renseigné",["age"], $remplissage);
//$toto->addControl("L'âge n'est pas numérique => #age",["age"], $numerique);
$toto->addField(["L'âge n'est pas renseigné","L'âge n'est pas numérique => #age"],["age"], [$remplissage, $numerique]);
$toto->addControl("Les deux options ne peuvent avoir la même valeur => option 1 = #option1 et option 2 = #option2",["option1","option2"], $controleOption);
//+++++++++++++++++++++++++++++++++++++++++++++
//-------------- j'ai mis ce nom au tableau mais on peut fort bien passer $_POST s'il est renseigné.
// On peut mettre n'importe quel tableau du moment que ses postes sont "nommés"
// problème sur les options
$valeurAController = ['nom'=>'Dupont','prenom'=>'Pierre','age'=>25,'option1'=>'oui','option2'=>'oui'];
$result = $toto->control($valeurAController);
// on parcourt les résultats qui ont retourné faux pour afficher le message d'erreur.
foreach($result as $message => $result)
{
if (! $result)
{
print "$message<br/>";
}
}
//+++++++++++++++++++++++++++++++++++++++++++++
print "<hr/>";
// problème sur le nom l'âge et les options
$valeurAController = ['nom'=>'','prenom'=>'Pierre','age'=>'AZ','option1'=>'oui','option2'=>'oui'];
$result = $toto->control($valeurAController);
foreach($result as $message => $result)
{
if (! $result)
{
print "$message<br/>";
}
}
//+++++++++++++++++++++++++++++++++++++++++++++
print "<hr/>";
// problème sur le nom l'âge qui manque et les options
$valeurAController = ['nom'=>'','prenom'=>'Pierre','option1'=>'oui','option2'=>'oui'];
$result = $toto->control($valeurAController);
foreach($result as $message => $result)
{
if (! $result)
{
print "$message<br/>";
}
} |
Partager