Total Complexity | 4 |
Total Lines | 32 |
Duplicated Lines | 0 % |
Coverage | 100% |
Changes | 0 |
1 | <?php |
||
9 | class ArrayValidator |
||
10 | { |
||
11 | 7 | public static function check(array $fields, array $rules): void |
|
12 | { |
||
13 | array_walk($fields, function ($value, $field) use ($rules) : void { |
||
14 | 7 | Assertion::keyExists($rules, $field); |
|
15 | 7 | array_map( |
|
16 | function ($validationRule) use ($value) : void { |
||
17 | 7 | $validation = explode(':', $validationRule); |
|
18 | 7 | $method = $validation[0]; |
|
19 | 7 | $params = array_key_exists(1, $validation) ? $validation[1] : null; |
|
20 | 7 | $ruleMethod = self::getRuleParams($method, $params); |
|
21 | |||
22 | 7 | list($param1, $param2) = $ruleMethod[RuleParser::getRuleMethod($method)]($params); |
|
23 | |||
24 | 7 | call_user_func_array([Assertion::class, $method], [$value, $param1, $param2]); |
|
25 | 7 | }, |
|
26 | 7 | explode('|', $rules[$field]) |
|
27 | ); |
||
28 | 7 | }); |
|
29 | 2 | } |
|
30 | |||
31 | 7 | private static function getRuleParams(string $method, ?string $params): array { |
|
41 | 7 | }, |
|
42 | ]; |
||
45 |