Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
8 / 8
100.00% covered (success)
100.00%
4 / 4
CRAP
100.00% covered (success)
100.00%
1 / 1
ValidatorResult
100.00% covered (success)
100.00%
8 / 8
100.00% covered (success)
100.00%
4 / 4
6
100.00% covered (success)
100.00%
1 / 1
 __construct
100.00% covered (success)
100.00%
5 / 5
100.00% covered (success)
100.00%
1 / 1
3
 success
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 failure
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getValidateResults
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
1<?php
2
3/**
4 * @license MIT
5 * @author hazuki3417<hazuki3417@gmail.com>
6 * @copyright 2022 hazuki3417 all rights reserved.
7 */
8
9namespace Selen\Schema\Validate\Model;
10
11class ValidatorResult
12{
13    /** @var bool */
14    private $result = true;
15
16    /** @var ValidateResult[] */
17    private $validateResults;
18
19    /**
20     * インスタンスを生成します
21     *
22     * @param ValidateResult $validateResults バリデーション結果を渡します
23     */
24    public function __construct(ValidateResult ...$validateResults)
25    {
26        $this->validateResults = $validateResults;
27
28        foreach ($this->validateResults as $validateResult) {
29            if ($validateResult->getResult() !== true) {
30                $this->result = false;
31                break;
32            }
33        }
34    }
35
36    /**
37     * バリデーションに合格したかどうか確認します
38     *
39     * @return bool バリデーションに合格した場合はtrueを、それ以外の場合はfalseを返します
40     */
41    public function success(): bool
42    {
43        return $this->result === true;
44    }
45
46    /**
47     * バリデーションに違反したかどうか確認します
48     *
49     * @return bool バリデーションに違反した場合はtrueを、それ以外の場合はfalseを返します
50     */
51    public function failure(): bool
52    {
53        return $this->result === false;
54    }
55
56    /**
57     * バリデーションの詳細情報を取得します
58     *
59     * @return ValidateResult[]
60     */
61    public function getValidateResults()
62    {
63        return $this->validateResults;
64    }
65}