소스 검색

[Validator] Adding support for Closure in CallbackValidator

Usage:
$formBuilder = $this->get('form.factory')
            ->createBuilder('form');
$formBuilder->setAttribute('validation_constraint', new Callback(array("methods"=>array(
    'validate' => function ($data, $context) use ($elements) {
       // logic to add violations depending on the elements
    }
))));
John Wards 14 년 전
부모
커밋
d96e2c5d79
1개의 변경된 파일1개의 추가작업 그리고 1개의 파일을 삭제
  1. 1 1
      src/Symfony/Component/Validator/Constraints/CallbackValidator.php

+ 1 - 1
src/Symfony/Component/Validator/Constraints/CallbackValidator.php

@@ -45,7 +45,7 @@ class CallbackValidator extends ConstraintValidator
         $propertyPath = $context->getPropertyPath();
 
         foreach ($methods as $method) {
-            if (is_array($method)) {
+            if (is_array($method) || $method instanceof \Closure) {
                 if (!is_callable($method)) {
                     throw new ConstraintDefinitionException(sprintf('"%s::%s" targeted by Callback constraint is not a valid callable', $method[0], $method[1]));
                 }