CheckRequired::validate()   A
last analyzed

Complexity

Conditions 3
Paths 2

Size

Total Lines 9
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 6
CRAP Score 3

Importance

Changes 0
Metric Value
c 0
b 0
f 0
dl 0
loc 9
ccs 6
cts 6
cp 1
rs 9.6666
cc 3
eloc 5
nc 2
nop 3
crap 3
1
<?php
2
3
namespace mindplay\kissform\Validators;
4
5
use mindplay\kissform\Facets\FieldInterface;
6
use mindplay\kissform\Facets\ValidatorInterface;
7
use mindplay\kissform\InputModel;
8
use mindplay\kissform\InputValidation;
9
use mindplay\lang;
10
11
/**
12
 * Validate required input
13
 */
14
class CheckRequired implements ValidatorInterface
15
{
16
    /**
17
     * @var string|null
18
     */
19
    private $error;
20
21
    /**
22
     * @param string $error optional custom error message
0 ignored issues
show
Documentation introduced by
Should the type for parameter $error not be string|null?

This check looks for @param annotations where the type inferred by our type inference engine differs from the declared type.

It makes a suggestion as to what type it considers more descriptive.

Most often this is a case of a parameter that can be null in addition to its declared types.

Loading history...
23
     */
24 10
    public function __construct($error = null)
25
    {
26 10
        $this->error = $error;
27 10
    }
28
29 1
    public function validate(FieldInterface $field, InputModel $model, InputValidation $validation)
30
    {
31 1
        if ($model->getInput($field) === null) {
32 1
            $model->setError(
33 1
                $field,
34 1
                $this->error ?: lang::text("mindplay/kissform", "required", ["field" => $validation->getLabel($field)])
35
            );
36
        }
37 1
    }
38
}
39