public function verifyEmailField($value, ExecutionContextInterface $context) { $data = $context->getRoot()->getData(); if (isset($data["email_confirm"]) && $data["email"] != $data["email_confirm"]) { $context->addViolation(Translator::getInstance()->trans("email confirmation is not the same as email field")); } }
public function verifyPasswordField($value, ExecutionContextInterface $context) { $data = $context->getRoot()->getData(); if ($data["password"] != $data["password_confirm"]) { $context->addViolation(Translator::getInstance()->trans("password confirmation is not the same as password field")); } }
public function checkDuplicateRef($value, ExecutionContextInterface $context) { $data = $context->getRoot()->getData(); $count = ProductQuery::create()->filterById($data['id'], Criteria::NOT_EQUAL)->filterByRef($value)->count(); if ($count > 0) { $context->addViolation(Translator::getInstance()->trans("A product with reference %ref already exists. Please choose another reference.", array('%ref' => $value))); } }
/** * If the user select "I'am a new customer", we make sure is email address does not exit in the database. */ public function verifyExistingEmail($value, ExecutionContextInterface $context) { $data = $context->getRoot()->getData(); if ($data["account"] == 0) { $customer = CustomerQuery::create()->findOneByEmail($value); if ($customer) { $context->addViolation(Translator::getInstance()->trans("A user already exists with this email address. Please login or if you've forgotten your password, go to Reset Your Password.")); } } }
public function verifyPasswordField($value, ExecutionContextInterface $context) { $data = $context->getRoot()->getData(); if ($data["password"] != $data["password_confirm"]) { $context->addViolation(Translator::getInstance()->trans("password confirmation is not the same as password field")); } if ($data["password"] !== '' && strlen($data["password"]) < 4) { $context->addViolation(Translator::getInstance()->trans("password must be composed of at least 4 characters")); } }
public function checkCodeUnicity($code, ExecutionContextInterface $context) { $type = $context->getRoot()->getData()['type']; $query = HookQuery::create()->filterByCode($code)->filterByType($type); if ($this->form->has('id')) { $query->filterById($this->form->getRoot()->getData()['id'], Criteria::NOT_EQUAL); } if ($query->count() > 0) { $context->addViolation(Translator::getInstance()->trans("A Hook with code %name already exists. Please choose another code.", array('%name' => $code))); } }
public function checkStock($value, ExecutionContextInterface $context) { $data = $context->getRoot()->getData(); if (null === $data["product_sale_elements_id"]) { $context->buildViolation(Translator::getInstance()->trans("Invalid product_sale_elements")); } else { $productSaleElements = ProductSaleElementsQuery::create()->filterById($data["product_sale_elements_id"])->filterByProductId($data["product"])->findOne(); $product = $productSaleElements->getProduct(); if ($productSaleElements->getQuantity() < $value && $product->getVirtual() === 0 && ConfigQuery::checkAvailableStock()) { $context->addViolation(Translator::getInstance()->trans("quantity value is not valid")); } } }
public function verifyPasswordField($value, ExecutionContextInterface $context) { $data = $context->getRoot()->getData(); if ($data["password"] === '' && $data["password_confirm"] === '') { $context->addViolation("password can't be empty"); } if ($data["password"] != $data["password_confirm"]) { $context->addViolation("password confirmation is not the same as password field"); } $minLength = ConfigQuery::getMinimuAdminPasswordLength(); if (strlen($data["password"]) < $minLength) { $context->addViolation("password must be composed of at least {$minLength} characters"); } }
function it_adds_violation_with_non_unique_value_from_form_data_and_value_comes_from_memory($uniqueValuesSet, ProductRepositoryInterface $productRepository, ProductValueInterface $uniqueValue, AttributeInterface $uniqueAttribute, ExecutionContextInterface $context, UniqueValue $constraint, ProductInterface $product, Form $form, ConstraintViolationBuilderInterface $violation) { $context->getRoot()->willReturn($form); $form->getData()->willReturn($product); $product->getValue('unique_attribute')->willReturn($uniqueValue); $uniqueValue->getAttribute()->willReturn($uniqueAttribute); $uniqueValue->getProduct()->willReturn($product); $uniqueAttribute->isUnique()->willReturn(true); $uniqueValue->getData()->willReturn('a content'); $uniqueAttribute->getCode()->willReturn('unique_attribute'); $productRepository->valueExists($uniqueValue)->willReturn(false); $uniqueValuesSet->addValue($uniqueValue)->willReturn(false); $context->buildViolation($constraint->message, Argument::any())->shouldBeCalled()->willReturn($violation); $this->validate("my_value", $constraint)->shouldReturn(null); }
public function verifyState($value, ExecutionContextInterface $context) { $data = $context->getRoot()->getData(); if (null !== ($country = CountryQuery::create()->findPk($data['country']))) { if ($country->getHasStates()) { if (null !== ($state = StateQuery::create()->findPk($data['state']))) { if ($state->getCountryId() !== $country->getId()) { $context->addViolation(Translator::getInstance()->trans("This state doesn't belong to this country.")); } } else { $context->addViolation(Translator::getInstance()->trans("You should select a state for this country.")); } } } }
public function checkRequirementField($value, ExecutionContextInterface $context) { $data = $context->getRoot()->getData(); $type = $data["type"]; if (false !== strpos($context->getPropertyPath(), $type)) { // extract requirement type if (preg_match('@\\:(.+)\\]@', $context->getPropertyPath(), $matches)) { $requirementType = $matches[1]; if (isset(self::$typeList[$requirementType])) { /** @var TypeInterface $typeClass */ $typeClass = self::$typeList[$requirementType]; $typeClass->verifyForm($value, $context); return; } } $context->addViolation(Translator::getInstance()->trans("Impossible to check value `%value` for `%type` type", ['%value' => $value, '%type' => $type])); } }
public function validateIncludeLangUrl($val, ExecutionContextInterface $context) { if ($val) { return; } $entityManager = $this->getConfigurationPool()->getContainer()->get('doctrine.orm.entity_manager'); /** @var Office $object */ $object = $this->getSubject(); /** @var Form $form */ $form = $context->getRoot(); $host = $form->get('host')->getData(); /** @var Office[] $offices */ $offices = $entityManager->getRepository('OctavaMuiBundle:Office')->getOfficesByHost($host, $object->getId()); foreach ($offices as $office) { if (!$office->getIncludeLangInUrl()) { $context->buildViolation($this->trans('admin.error.office_host_exists', ['{host}' => $host, '{alias}' => $office->getAlias()]))->addViolation(); break; } } }
private function getViolation() { return new ConstraintViolation(null, $this->message, $this->parameters, $this->context->getRoot(), $this->propertyPath, $this->invalidValue, $this->plural, $this->code, $this->constraint, $this->cause); }
/** * Check if method is the right one if we want to use automatic inserted templates . * * @param $value * @param ExecutionContextInterface $context * * @return bool */ public function verifyTemplates($value, ExecutionContextInterface $context) { $data = $context->getRoot()->getData(); if (!empty($data['templates']) && $data['method'] !== BaseHook::INJECT_TEMPLATE_METHOD_NAME) { $context->addViolation($this->trans("If you use automatic insert templates, you should use the method %method%", ['%method%' => BaseHook::INJECT_TEMPLATE_METHOD_NAME])); } }