[Validation] Validation entre propriétés d'objets
Bonjour,
j'ais un petit problèmes de validation :
j'ais 2 class a et b:
Code:
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;
} |
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.
j'ais développer la fonction suivante au niveau de la classe B:
Code:
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;
} |
mais lors de l'enregistrement j'ais toujours le message d'erreur!!!
quelqu'un peux me donner une proposition ou une solution???
merci d'avance.;)