Bonjour,
j'ais un petit problèmes de validation :
j'ais 2 class a et b:
lors de l'ajout d'un nouvel objet b, je veux vérifier que le nombre des couts dans l'objet de la classe B égale à la valeur $i de l'objet A parente.
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 class a{ private $id; private $i; //nbr de couts par exemple. du type"integer" @ORM\OneToMany(targetEntity="Bundle\Entity\B", mappedBy="a") private $bs; } class b{ private $id; /** *@ORM\column(type="string") */ private $couts; // je propose le format "cout1-cout2-...-cout(i)" // avec cout1, cout2 sont des nombres. @ORM\ManyToOne(targetEntity="Bundle\Entity\A", inversedBy="bs") private $a; }
j'ais développer la fonction suivante au niveau de la classe B:
mais lors de l'enregistrement j'ais toujours le message d'erreur!!!
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 /** *@Assert\True(message="message d'erreur") */ public function isCouts(){ $nbcout = $this->geta()->getI(); $cts = explode( "-", $this->couts ); $nbval = count( $cts ); if($nbcout == $nbval){ for($j=0; $j<$nbval; $j++){ if(!preg_match("#[^0-9\,\.]+#", $cts[$j])) $result = true; else $result = false; } } else $result = false; return $result; }
quelqu'un peux me donner une proposition ou une solution???
merci d'avance.
Partager