/** * {@inheritdoc} */ public function validate($value, Constraint $constraint) { if (null === $value) { return; } if (!is_array($value) || !$value instanceof \Traversable) { if ($this->context instanceof ExecutionContextInterface) { $this->context->buildViolation($constraint->messageList)->setParameter('{{ type }}', is_object($value) ? get_class($value) : gettype($value))->setInvalidValue($value)->addViolation(); } else { $this->buildViolation($constraint->messageList)->setParameter('{{ type }}', is_object($value) ? get_class($value) : gettype($value))->setInvalidValue($value)->addViolation(); } } $validCodes = []; foreach ($this->attributeManager->getAttributes('pim_catalog_image') as $attribute) { $validCodes[] = $attribute->getCode(); } foreach ($value as $code) { if (!in_array($code, $validCodes)) { if ($this->context instanceof ExecutionContextInterface) { $this->context->buildViolation($constraint->message)->setParameter('{{ code }}', $code)->setInvalidValue($code)->addViolation(); } else { $this->buildViolation($constraint->message)->setParameter('{{ code }}', $code)->setInvalidValue($code)->addViolation(); } return; } } }
/** * {@inheritdoc} */ public function validate($value, Constraint $constraint) { if (null === $value) { return; } foreach ($this->attributeManager->getAttributes('pim_catalog_image') as $attribute) { if ($attribute->getCode() === $value) { return; } } if ($this->context instanceof ExecutionContextInterface) { $this->context->buildViolation($constraint->message)->setParameter('{{ code }}', $value)->setInvalidValue($value)->addViolation(); } else { $this->buildViolation($constraint->message)->setParameter('{{ code }}', $value)->setInvalidValue($value)->addViolation(); } }