Bonjour,

Je me prends le chou mais méchament et j'ai tellement ramer à exploser.

Je vous explique mon problème
Je fais un class from pour créer un formulaire.

J'appelle ma class ainsi
Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
        $formulaire = new Form('field','id','name','class','isNotEmpty,isEmail,isString,isNumeric,isBool,isInt,minDigit:5,maxDigit:5,nbDigit:5,removeAccent,strp_tags');
$formulaire->type = 'input';
$formulaire->Display();
 
$formulaire = new Form('field','id','firstname','class','isNotEmpty,minDigit:5');
        $formulaire->type = 'input';
        $formulaire->Display();

Les champs de mon formulaire ce créen bien et là je n'ai pas de problème.


Mon problème se situe au niveau de $string_condition qui est vaut ceci pour le champs "nom" :
isNotEmpty,isEmail,isString,isNumeric,isBool,isInt,minDigit:5,maxDigit:5,nbDigit:5,removeAccent,strp_tags
et ceci pour le champ "prénom" :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
isNotEmpty,minDigit:5
Voici le constructeur de ma class Form
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
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
 
function __construct($balise,$id,$name,$class,$string_condition){
		$this->balise = $balise;
		$this->id = $id.'_'.$name;
		$this->name = $name;
		$this->class = $class;
 
 
//ICI JE CONTROLE SI MA VARIABLE EST UN STRING OU PAS		
if(is_int($string_condition)){
			$this->mandatory = $string_condition;
		}elseif(!empty($string_condition)){
//SI C?EST UN STRING PASSE ICI
		// Liste des conditions possibles
			$validCondition = array(
				'isNotEmpty',
				'isEmail',
				'isString',
				'isNumeric',
				'isBool',
				'isInt',
				'minDigit', // (minDigir:5) Doit avoir au moins 5 caracteres
				'maxDigit', // (maxDigit:5) Doit avoir max 5 caractères
				'nbDigit', // (digit:5) doit avoir 5 caractere
				'removeAccent',
				'strp_tags' // strip_tags:br,hr,p,
			);
 
 
			//JE PLACCE MES CONDITONNE SOUS FORME D'ARRAY
			$array_condition = explode(',',$string_condition);
 
			// JE VEUX M?ASSURER QUE MES CONDITIONS SONT PERMISE EN LES COMPARANT AVEC $validCondition
//JE PARCOURS MON TABLEAU
			foreach ($array_condition as $key => $condition){
 
				//JE DOIS ENCORE SUPPRIMER LES VALEURS DE CERTAINE CONDITION. PAR EXEMPLE: minDigit:8
				$_condition = explode(":",$condition);
				// ICI J'AI RECUPERE minDigit ET J IGNORE :8
// PUIS JE COMPARE AVEC LES VALEURS DE $validCondition
				if(!in_array($_condition[0],$validCondition)){
					echo $name.': ['.$_condition[0].'] is not valid. ';
				}else{	
// I C I  E S T  M O N  P R O B L E M E:
// JE souaihterais empiler mes valeurs dans un tableau mulidimentionnel comme ceci:			
 
$this->toValidates[$name]=$array_condition;
 
// Simplement, la ligne ci dessus, me retourne seulement la valeur du champs en question. Par exemple Sous le champs prénom je devrair avoir les conditions du champs name et firstname. mais je n'ai que les condition de firstname. Si j'ajoute d'autre champs c'est la meme chose.		
				}	
			}
 
// CECI EST DES RESTE DE MES TESTES
			$_SESSION['test'] = $this->toValidates;
 
			array_push($this->toValidates,$_SESSION['test']);
 
			print_r($this->toValidates);
 
 
 
 
			//$this->toValid($name,$array_condition);
 
		}
	}
Je crois que e problème, c'est que pour chaque champs, la class FORM est instentiée. Donc c'est comme si on repartait de zéro.

J'espère que vous m'avez bien compris?

En gros j'aimerais savoir comment "empiler" les conditions de chaque champs dans un tableau multidimentionnel.

Oufs, ben j'espère que j'ai été assez claire