Chris@4: label() == 'foo') { Chris@4: $this->context->buildViolation($constraint->errorMessage) Chris@4: // @DCG The path depends on entity type. It can be title, name, etc. Chris@4: ->atPath('title') Chris@4: ->addViolation(); Chris@4: } Chris@4: Chris@4: } Chris@4: {% elseif input_type == 'item_list' %} Chris@4: public function validate($items, Constraint $constraint) { Chris@4: Chris@4: foreach ($items as $delta => $item) { Chris@4: // @DCG Validate the item here. Chris@4: if ($item->value == 'foo') { Chris@4: $this->context->buildViolation($constraint->errorMessage) Chris@4: ->atPath($delta) Chris@4: ->addViolation(); Chris@4: } Chris@4: } Chris@4: Chris@4: } Chris@4: {% elseif input_type == 'item' %} Chris@4: public function validate($item, Constraint $constraint) { Chris@4: Chris@4: $value = $item->getValue()['value']; Chris@4: // @DCG Validate the value here. Chris@4: if ($value == 'foo') { Chris@4: $this->context->addViolation($constraint->errorMessage); Chris@4: } Chris@4: Chris@4: } Chris@4: {% else %} Chris@4: public function validate($value, Constraint $constraint) { Chris@4: Chris@4: // @DCG Validate the value here. Chris@4: if ($value == 'foo') { Chris@4: $this->context->addViolation($constraint->errorMessage); Chris@4: } Chris@4: Chris@4: } Chris@4: {% endif %} Chris@4: Chris@4: }