Напишите пользовательский валидатор обратного вызова для объекта, владеющего коллекцией.
Если у вас есть, например, сущность Корзина и коллекция Продуктов, вы должны сделать:
...............
use Symfony\Component\Validator\Constraints as Assert;
...............
* @Assert\Callback(
* methods={"hasCorrectNumberOfProducts"}
* )
class Cart
{
...........
public function hasCorrectNumberOfProducts(ExecutionContext $context)
{
$propertyPath = $context->getPropertyPath();
$correct = 666;
if(!count($this->getProducts()) == $correct) {
$context->setPropertyPath($propertyPath . '.products');
$context->addViolation('Incorrect number of products!', array(), null);
}
}
......