Bonjour,
Dans mon développement je crées mes propre validateurs, jusqu'a présent tout fonctionne.
Ici je dois passer un paramètre de mon entity et dans ce contexte je ne peut passer d'objet !
Voici mes classe
BeforeDate
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 <?php namespace MaitrePylos\Validator\Constraints ; use Symfony\Component\Validator\Constraint; class BeforeDate extends Constraint { public $message = 'La date de fin ne peut-être inférieur à la date de début ! ' ; public $date ; public function __construct($date){ $this->date = $date; } } ?>
BeforeDateValidator
et dans mon entity
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 <?php namespace MaitrePylos\Validator\Constraints; use Symfony\Component\Validator\Constraint; use Symfony\Component\Validator\ConstraintValidator; use Symfony\Component\Validator\Exception\UnexpectedTypeException; class BeforeDateValidator extends ConstraintValidator { public function isValid($value, Constraint $constraint) { if($value->format('Ymd') < $constraint->date->format('Ymd')){ $this->setMessage($constraint->message, array('{{ value }}' => $value)); return false; } return true; } } ?>
ici $this->dDateDebutContrat ne peut être entré dans ce contexte.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 public static function loadValidatorMetadata(ClassMetadata $metadata) { $metadata->addPropertyConstraint('dDateFinContrat', new MP\BeforeDate(array('date'=>$this->dDateDebutContrat))); }
Une idée de comment passer ce paramètre ?
merci
Partager