Bonjour, j'éprouve depuis un certain temps un problème d'architecture de classe.
J'essaye de m'écrire un script de validation de forme....
Ma forme est écrite en HTML insérée de balises <?PHP ?>, mais le problème n'est pas là....
J'ai une classe Form, String & autres classes à venir.... car en fonction du type de champ, les validations sont très simililaires et l'intention est de les mettre dans une classe Validator......
En finalité, et c'est le but final, j'affiche en bas de forme un msg fonction du nombre d'erreur rencontrée et du nombre de champ encore à remplir puis un OK final.... là je n'arrive jamais....
Je mets mon code validate.php en pièce attachée et voici le log.php avec les points - que je juge délicat - en gras.
Ma forme ne contient qu'un seul champ: ifFilled[nom][ccccccccc][9] qui contient 9 X "c" !
Code : 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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81PHP Warning: Update Screen[index] done ! in F:\WebSites\checkform\class\newScreen.php on line 127 PHP Stack trace: PHP 1. {main}() F:\WebSites\checkform\index.php:0 PHP 2. setScreen->execute() F:\WebSites\checkform\index.php:15 PHP 3. Skeleton->execute() F:\WebSites\checkform\class\setScreen.php:154 PHP 4. Screen->execute() F:\WebSites\checkform\class\newSkelt.php:174 PHP 5. Screen->UpdScreen() F:\WebSites\checkform\class\newScreen.php:65 PHP 6. user_error() F:\WebSites\checkform\class\newScreen.php:127 PHP Notice: String[__construct] [nom][ccccccccc][9] in F:\WebSites\checkform\class\validate.php on line 233 PHP Stack trace: PHP 1. {main}() F:\WebSites\checkform\index.php:0 PHP 2. setScreen->execute() F:\WebSites\checkform\index.php:15 PHP 3. Skeleton->execute() F:\WebSites\checkform\class\setScreen.php:154 PHP 4. Skeleton->displayPage() F:\WebSites\checkform\class\newSkelt.php:324 PHP 5. require_once() F:\WebSites\checkform\class\newSkelt.php:405 PHP 6. require_once() F:\WebSites\checkform\config\myPage.php:181 PHP 7. String->__construct() F:\WebSites\checkform\doc\do_index.php:26 PHP 8. user_error() F:\WebSites\checkform\class\validate.php:233 PHP Notice: ifFilled[nom][ccccccccc][9] in F:\WebSites\checkform\class\validate.php on line 258 PHP Stack trace: PHP 1. {main}() F:\WebSites\checkform\index.php:0 PHP 2. setScreen->execute() F:\WebSites\checkform\index.php:15 PHP 3. Skeleton->execute() F:\WebSites\checkform\class\setScreen.php:154 PHP 4. Skeleton->displayPage() F:\WebSites\checkform\class\newSkelt.php:324 PHP 5. require_once() F:\WebSites\checkform\class\newSkelt.php:405 PHP 6. require_once() F:\WebSites\checkform\config\myPage.php:181 PHP 7. String->__construct() F:\WebSites\checkform\doc\do_index.php:26 PHP 8. String->execute() F:\WebSites\checkform\class\validate.php:235 PHP 9. String->ifFilled() F:\WebSites\checkform\class\validate.php:244 PHP 10. user_error() F:\WebSites\checkform\class\validate.php:258 PHP Notice: ifFilled[nom][ccccccccc][9][1] in F:\WebSites\checkform\class\validate.php on line 263 PHP Stack trace: PHP 1. {main}() F:\WebSites\checkform\index.php:0 PHP 2. setScreen->execute() F:\WebSites\checkform\index.php:15 PHP 3. Skeleton->execute() F:\WebSites\checkform\class\setScreen.php:154 PHP 4. Skeleton->displayPage() F:\WebSites\checkform\class\newSkelt.php:324 PHP 5. require_once() F:\WebSites\checkform\class\newSkelt.php:405 PHP 6. require_once() F:\WebSites\checkform\config\myPage.php:181 PHP 7. String->__construct() F:\WebSites\checkform\doc\do_index.php:26 PHP 8. String->execute() F:\WebSites\checkform\class\validate.php:235 PHP 9. String->ifFilled() F:\WebSites\checkform\class\validate.php:244 PHP 10. user_error() F:\WebSites\checkform\class\validate.php:263 PHP Notice: ifFilled[nom][ccccccccc][9] in F:\WebSites\checkform\class\validate.php on line 258 PHP Stack trace: PHP 1. {main}() F:\WebSites\checkform\index.php:0 PHP 2. setScreen->execute() F:\WebSites\checkform\index.php:15 PHP 3. Skeleton->execute() F:\WebSites\checkform\class\setScreen.php:154 PHP 4. Skeleton->displayPage() F:\WebSites\checkform\class\newSkelt.php:324 PHP 5. require_once() F:\WebSites\checkform\class\newSkelt.php:405 PHP 6. require_once() F:\WebSites\checkform\config\myPage.php:181 PHP 7. Form->__construct() F:\WebSites\checkform\doc\do_index.php:48 PHP 8. Form->execute() F:\WebSites\checkform\class\validate.php:87 PHP 9. String->execute() F:\WebSites\checkform\class\validate.php:114 PHP 10. String->ifFilled() F:\WebSites\checkform\class\validate.php:244 PHP 11. user_error() F:\WebSites\checkform\class\validate.php:258 PHP Notice: ifFilled[nom][ccccccccc][9][1] in F:\WebSites\checkform\class\validate.php on line 263 PHP Stack trace: PHP 1. {main}() F:\WebSites\checkform\index.php:0 PHP 2. setScreen->execute() F:\WebSites\checkform\index.php:15 PHP 3. Skeleton->execute() F:\WebSites\checkform\class\setScreen.php:154 PHP 4. Skeleton->displayPage() F:\WebSites\checkform\class\newSkelt.php:324 PHP 5. require_once() F:\WebSites\checkform\class\newSkelt.php:405 PHP 6. require_once() F:\WebSites\checkform\config\myPage.php:181 PHP 7. Form->__construct() F:\WebSites\checkform\doc\do_index.php:48 PHP 8. Form->execute() F:\WebSites\checkform\class\validate.php:87 PHP 9. String->execute() F:\WebSites\checkform\class\validate.php:114 PHP 10. String->ifFilled() F:\WebSites\checkform\class\validate.php:244 PHP 11. user_error() F:\WebSites\checkform\class\validate.php:263 PHP Notice: stillFill[0] - cntFilled[0] in F:\WebSites\checkform\class\validate.php on line 149 PHP Stack trace: PHP 1. {main}() F:\WebSites\checkform\index.php:0 PHP 2. setScreen->execute() F:\WebSites\checkform\index.php:15 PHP 3. Skeleton->execute() F:\WebSites\checkform\class\setScreen.php:154 PHP 4. Skeleton->displayPage() F:\WebSites\checkform\class\newSkelt.php:324 PHP 5. require_once() F:\WebSites\checkform\class\newSkelt.php:405 PHP 6. require_once() F:\WebSites\checkform\config\myPage.php:181 PHP 7. require_once() F:\WebSites\checkform\doc\do_index.php:72 PHP 8. Form->getMsg() F:\WebSites\checkform\config\formdef.php:157 PHP 9. user_error() F:\WebSites\checkform\class\validate.php:149
Donc, selon mon idée;la variable cntFilled est incrémentée..... mais non !
Pourquoi ? That's THE question !
Lors de la définition de la forme, j'utilise String qui est instanciée...
Code : 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 * Instanciation de la FORME * ========================= */ $cf = new Form( $fields = array ( new String ( "nom" , MUST , Alpha , 3 , 30 ) /* , new String ( "prenom" , MUST , Alpha , 3 , 30 ) , new Email ( "email" , MUST , Mail , 8 , 30 ) , new Email ( "cemail" , MUST , Mail , 8 , 30 ) , new Phone ( "phone" , MUST , Num , 10 , 10 ) , new Integer ( "numero" , MUST , UINT , 1 , 5 ) , new String ( "boite" , OPT , aNum , 1 , 5 ) , new String ( "voie" , MUST , aNumE , 3 , 30 ) , new Integer ( "zip" , MUST , UINT , 5 , 5 ) , new Date ( "date" , MUST , 8 , 8 ) , new Select ( "pays" , MUST ) , new Select ( "question" , MUST ) , new String ( "secretanswer" , MUST , Alpha , 5 , 15 ) , new Select ( "job" , MUST ) , new Password ( "pass" , MUST , aNum , 6 , 8 ) , new Password ( "cpass" , MUST , aNum , 6 , 8 ) , new Textarea ( "text" , MUST , aNumE , 10 ,500 ) , new Same ( "email" , "cemail" ) , new Same ( "pass" , "cpass" ) */ ), $debug=false );
Voilà.... cela fait bcp de question....
Merci à ceussss qui se pencheront sur mon problème![]()









Répondre avec citation
Partager