Я пытаюсь использовать функцию для проверки подформы.Symfony2 Validator ExecutionContextInterface в каскаде
Подформа сохраняется в каскаде с родительским объектом с отношением OneToOne.
В верхней части моего лица:
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;
use Symfony\Component\Validator\ExecutionContextInterface;
На дне, функция:
public function verifyCommandeTypeValide(ExecutionContextInterface $context)
{
die('ok');
$valide = false;
if($this->getLivraison() === true){
$valide = true;
if(preg_match("/^[0-9]$/", $this->getLivraisondelais())){
$context->addViolationAt('livraisondelais','Le délais de livraison ne doit contenir que des chiffres.');
}
if($this->getLivraisonprice() === null){
$context->addViolationAt('livraisonprice','Vous devez définir les frais de livraison.');
}
}
if($this->getRetrait() === true){
$valide = true;
if(preg_match("/^[0-9]$/", $this->getRetraitdelais())){
$context->addViolationAt('retraitdelais','Le délais de retrait ne doit contenir que des chiffres.');
}
}
if($valide === false){
$context->addViolationAt('livraison','Vous devez définir une méthode de retrait pour le produit.');
}
}
И validation.yml:
YOU\ProductBundle\Entity\CommandeType :
constraints:
- Callback:
methods: [verifyCommandeTypeValide]
YOU\ProductBundle\Entity\Product:
properties:
titre:
- Length :
min : 3
max: 150
maxMessage : "Le titre du produit ne dois pas dépasser 150 caractères."
minMessage : "Le titre du produit dois faire plus de 3 caractères."
- NotBlank :
message : "Vous devez donner un titre au produit."
cat1:
- NotNull :
message : "Vous devez compléter la catégorie de niveau 1 au minimum."
images:
- Count :
min : 1
max : 5
minMessage : "Vous devez mettre 1 photo au minimum."
maxMessage : "Le nombre de photos est limité à 5."
Если я пытаюсь использовать ограничения обратный вызов в первом слое формы, в: YOU \ ProductBundle \ Entity \ Product Эта работа, выполняется обратный вызов. Но обратный вызов не выполняется для: YOU \ ProductBundle \ Entity \ CommandeType
Кто-нибудь знает, как я могу использовать его с отношением OneToOne?
ТНХ