ExtraCheck   A
last analyzed

Complexity

Total Complexity 8

Size/Duplication

Total Lines 26
Duplicated Lines 0 %

Importance

Changes 3
Bugs 0 Features 1
Metric Value
eloc 9
dl 0
loc 26
rs 10
c 3
b 0
f 1
wmc 8

4 Methods

Rating   Name   Duplication   Size   Complexity  
A valid() 0 3 2
A validateDate() 0 4 2
A isRequired() 0 4 2
A requireds() 0 4 2
1
<?php
2
3
namespace HnrAzevedo\Validator;
4
5
Trait ExtraCheck
6
{
7
    use Helper;
8
    
9
    protected function requireds(): void
10
    {
11
        if(count(self::getInstance()->required()) > 0){
12
            self::getInstance()->error([ self::$err['needed'].implode(', ', array_keys(self::getInstance()->required())) ]);
13
        }
14
    }
15
16
    public function validateDate($date, $format = 'Y-m-d H:i:s')
17
    {
18
        $d = \DateTime::createFromFormat($format, $date);
19
        return $d && $d->format($format) == $date;
20
    }
21
22
    protected function isRequired(string $param): bool
23
    {
24
        return (array_key_exists('required', self::getInstance()->validator(self::getInstance()->model())->getRules(self::getInstance()->data('_ROLE'))[$param]) 
25
        && self::getInstance()->validator(self::getInstance()->model())->getRules(self::getInstance()->data('_ROLE'))[$param]['required']);
26
    }
27
28
    protected function valid(string $param, $value): bool
29
    {
30
        return (self::getInstance()->isRequired($param) || strlen($value > 0));
31
    }
32
33
}
34