CheckRequired::__construct()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 3
CRAP Score 1

Importance

Changes 0
Metric Value
dl 0
loc 4
c 0
b 0
f 0
ccs 3
cts 3
cp 1
rs 10
cc 1
eloc 2
nc 1
nop 1
crap 1
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