webservice = $webservice; $this->deviceCheckUrl = $deviceCheckUrl; $this->enabled = true; } /** * @param object $entity * @param Constraint $constraint */ public function validate($entity, Constraint $constraint) { if (!$this->enabled) return; $result = $this->webservice->makeGetRequest($this->deviceCheckUrl); $data = json_decode($result, true); if (is_null($entity->getId()) && isset($data['result']) && $data['result'] == false) { $this->context->buildViolation($constraint->message) ->addViolation(); } } function remoteCheck($enable) { $this->enabled = $enable; } /** * Se utiliza para las pruebas de phpunit * @param Webservice $webservice */ public function setWebservice($webservice) { $this->webservice = $webservice; } }