I have a custom validator, extending Zend AbstractValidator. The thing is, i want to include Doctrine EntityManager, but i keep failing! I tried to make a Factory for my Validator, but it doesn't seem to work. Help!! What am I doing wrong?
Validator:
$this->objectRepository stays empty, while i expect content.
namespace Rentals\Validator;
use Rentals\Response;
use Zend\Validator\AbstractValidator;
use Zend\Stdlib\ArrayUtils;
class ExistentialQuantification extends AbstractValidator
{
    const NO_ENTITY_ID = 'noEntityId';
    const ENTITY_NOT_FOUND = 'entityNotFound';
    const INVALID_ID = 'invalidId';
    protected $messageTemplates = [
        self::NO_ENTITY_ID => 'The input does not contain an entity id.',
        self::ENTITY_NOT_FOUND => 'The entity could not be found.',
        self::INVALID_ID => 'The input does not contain an entity id.',
    ];
    protected $objectRepository;
    public function __construct(array $options)
    {
        $this->objectRepository = $options['object_repository'];
        parent::__construct($options);
    }
    public function isValid($value)
    {
        if ($value === null) {
            return true;
        }
        if (! isset($value->id)) {
            $this->error(self::NO_ENTITY_ID);
            return false;
        }
        $entityClass = $this->getOption('entity_class');
        $controller = new Controller();
        $entity = (new FactoryInterface)(EntityManager::class)->find($entityClass, $entity->id);
        if (! $entity instanceof $entityClass) {
            $this->error(self::ENTITY_NOT_FOUND);
            return false;
        }
        if (! $entity->getId()) {
            $this->error(self::NO_ENTITY_ID);
            return false;
        }
        return true;
    }
}
Factory:
namespace Rentals\Validator;
use Zend\ServiceManager\FactoryInterface;
use Zend\ServiceManager\MutableCreationOptionsInterface;
use Zend\ServiceManager\ServiceLocatorInterface;
use Zend\Stdlib\ArrayUtils;
class ExistentialQuantificationFactory implements FactoryInterface, MutableCreationOptionsInterface
{
    protected $options = [];
    public function setCreationOptions(array $options)
    {
        $this->options = $options;
    }
    public function createService(ServiceLocatorInterface $serviceLocator)
    {
        if (! isset($this->options['object_manager'])) {
            $this->options['object_manager'] = 'doctrine.entitymanager.orm_default';
        }
        $objectManager = $serviceLocator->get($this->options['object_manager']);
        $objectRepository = $objectManager->getRepository($this->options['entity_class']);
        return new ExistentialQuantification(ArrayUtils::merge(
            $this->options, [
                'objectManager' => $objectManager,
                'objectRepository' => $objectRepository
            ]
        ));
    }
}
Module config:
<?php
return [
    'service_manager' => [
        'factories' => [
            'Rentals\\Validator\\ExistentialQuantification' => 'Rentals\\Validator\\ExistentialQuantificationFactory'
        ]
    ]
];
?>