← Back
Editing: ItemsForAddressValidator.php
<?php namespace App\Validator; use App\Entity\Adresse; use Symfony\Component\Validator\Constraint; use Symfony\Component\Validator\ConstraintValidator; use Symfony\Component\Validator\Exception\UnexpectedValueException; class ItemsForAddressValidator extends ConstraintValidator { public function validate(mixed $value, Constraint $constraint) { $address = $value; if (!$address instanceof Adresse) { throw new UnexpectedValueException($address, Adresse::class); } if (!$constraint instanceof ItemsForAddress) { throw new UnexpectedValueException($constraint, ItemsForAddress::class); } foreach ($address->getItems() as $item) { if ($item->getZone()->getRoot()->getThematic()->getSolution()->getId() !== $address->getSolution()->getId( )) { $this->context ->buildViolation($constraint->message) ->atPath('items') ->addViolation(); return; } } } }
Save File
Cancel