public function Validator::validateValue in Plug 7
Validates a value against a constraint or a list of constraints.
@api
Parameters
mixed $value The value to validate.:
Constraint|Constraint[] $constraints The constraint(s) to validate against.:
array|null $groups The validation groups to validate.:
Return value
ConstraintViolationListInterface A list of constraint violations. If the list is empty, validation succeeded.
Overrides ValidatorInterface::validateValue
Deprecated
Renamed to {@link Validator\ValidatorInterface::validate()} in Symfony 2.5. Will be removed in Symfony 3.0.
File
- lib/Symfony/ validator/ Symfony/ Component/ Validator/ Validator.php, line 175 
Class
- Validator
- Default implementation of {@link ValidatorInterface}.
Namespace
Symfony\Component\ValidatorCode
public function validateValue($value, $constraints, $groups = null) {
  $context = new ExecutionContext($this
    ->createVisitor($value), $this->translator, $this->translationDomain);
  $constraints = is_array($constraints) ? $constraints : array(
    $constraints,
  );
  foreach ($constraints as $constraint) {
    if ($constraint instanceof Valid) {
      // Why can't the Valid constraint be executed directly?
      //
      // It cannot be executed like regular other constraints, because regular
      // constraints are only executed *if they belong to the validated group*.
      // The Valid constraint, on the other hand, is always executed and propagates
      // the group to the cascaded object. The propagated group depends on
      //
      //  * Whether a group sequence is currently being executed. Then the default
      //    group is propagated.
      //
      //  * Otherwise the validated group is propagated.
      throw new ValidatorException(sprintf('The constraint %s cannot be validated. Use the method validate() instead.', get_class($constraint)));
    }
    $context
      ->validateValue($value, $constraint, '', $groups);
  }
  return $context
    ->getViolations();
}