Completed
Push — master ( e15c58...b150a8 )
by Changwan
07:08
created

LengthMinValidator   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 26
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 1

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
dl 0
loc 26
ccs 7
cts 7
cp 1
rs 10
c 0
b 0
f 0
wmc 3
lcom 1
cbo 1

2 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 4 1
A test() 0 7 2
1
<?php
2
namespace Wandu\Validator\Rules;
3
4
class LengthMinValidator extends ValidatorAbstract
5
{
6
    const ERROR_TYPE = 'length_min:{{min}}';
7
8
    /** @var int */
9
    protected $min;
10
11
    /**
12
     * @param int $min
13
     */
14 6
    public function __construct($min)
15
    {
16 6
        $this->min = $min;
17 6
    }
18
19
    /**
20
     * {@inheritdoc}
21
     */
22 4
    public function test($item)
23
    {
24 4
        if (is_array($item)) {
25 1
            return count($item) >= $this->min;
26
        }
27 4
        return mb_strlen($item, 'utf-8') >= $this->min;
28
    }
29
}
30