Validation::addValidator()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 3
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 3
CRAP Score 2

Importance

Changes 0
Metric Value
eloc 2
dl 0
loc 3
ccs 3
cts 3
cp 1
rs 10
c 0
b 0
f 0
cc 2
nc 2
nop 1
crap 2
1
<?php
2
3
4
namespace Logikos\Util;
5
6
7
use Logikos\Util\Validation\Result;
8
use Logikos\Util\Validation\Validator;
9
10
class Validation {
11
12
  /** @var Validation\Validator[] */
13
  protected $validators = [];
14
15 21
  public function addValidator(Validator ...$validators) {
16 21
    foreach($validators as $v)
17 21
      array_push($this->validators, $v);
18 21
  }
19
20 23
  public function validate($value): Result {
21 23
    $messages = [];
22 23
    foreach ($this->validators as $validator) {
23 20
      if (!$validator->validate($value))
24 20
        array_push($messages, $validator->getDescription());
25
    }
26 23
    return count($messages)
27 15
        ? new Validation\InvalidResult($messages)
28 23
        : new Validation\ValidResult();
29
  }
30
}