Passed
Push — master ( 9147e7...8b2482 )
by Alexey
02:30
created

IntValidation::error()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 1
c 1
b 0
f 0
nc 1
nop 0
dl 0
loc 3
rs 10
1
<?php
2
3
4
namespace Lexuss1979\Validol\Validations;
5
6
7
class IntValidation extends AbstractValidation implements ValidationInterface
8
{
9 13
    public function validate($data, $key)
10
    {
11 13
        $testedValue = $data[$key] ?? null;
12 13
        if(! $this->isIntValue($testedValue)) {
13 7
            $this->error = "$key must be integer";
14 7
            return false;
15
        }
16 7
        return true;
17
    }
18
19 13
    protected function isIntValue($value){
20 13
        if(is_bool($value)) return false;
21 11
        return  is_int($value) || preg_match('/^\d+$/',$value);
22
    }
23
}