コード例 #1
0
ファイル: Validator.php プロジェクト: weew/validator
 /**
  * @param $data
  * @param IConstraintGroup[] $groups
  *
  * @return IValidationResult
  */
 protected function applyConstraints($data, array $groups)
 {
     $result = new ValidationResult();
     $data = $this->createValidationData($data);
     foreach ($groups as $group) {
         $values = $data->get($group->getName());
         $isKeyWildcard = str_ends_with($group->getName(), '.#');
         foreach ($values as $name => $value) {
             if ($isKeyWildcard) {
                 $name = s('#%s', $name);
             }
             $group->setName($name);
             $groupResult = $group->check($value, $data);
             if ($groupResult->isFailed()) {
                 $result->extend($groupResult);
             }
         }
     }
     return $this->filterResult($result);
 }