예제 #1
0
 /**
  * @param IValidationResult $result
  *
  * @return IValidationResult
  */
 public function removeNullableErrors(IValidationResult $result)
 {
     $nullableSubjects = $this->getNullableSubjects($result);
     $filteredResult = new ValidationResult();
     foreach ($result->getErrors() as $error) {
         if (!$this->shouldErrorBeIgnored($nullableSubjects, $error)) {
             $filteredResult->addError($error);
         }
     }
     return $filteredResult;
 }
예제 #2
0
 public function test_extend()
 {
     $r1 = new ValidationResult();
     $r2 = new ValidationResult();
     $r3 = new ValidationResult();
     $e1 = new ValidationError('foo', 'bar', new StringConstraint());
     $e2 = new ValidationError('bar', 'foo', new StringConstraint());
     $e3 = new ValidationError('baz', 'bar', new StringConstraint());
     $r1->addErrors([$e1, $e2]);
     $r2->addError($e2);
     $r3->addError($e3);
     $this->assertEquals([$e1, $e2], $r1->getErrors());
     $r1->extend($r2);
     $this->assertEquals([$e1, $e2, $e2], $r1->getErrors());
     $r1->extend($r3);
     $this->assertEquals([$e1, $e2, $e2, $e3], $r1->getErrors());
 }