-
-
Notifications
You must be signed in to change notification settings - Fork 18
Expand file tree
/
Copy pathValidate.php
More file actions
135 lines (118 loc) · 2.56 KB
/
Copy pathValidate.php
File metadata and controls
135 lines (118 loc) · 2.56 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
<?php
declare(strict_types=1);
namespace Bow\Validation;
use Bow\Validation\Exception\ValidationException;
class Validate
{
/**
* The validation fails flag
*
* @var bool
*/
private bool $fails;
/**
* The last message
*
* @var ?string
*/
private ?string $last_message = null;
/**
* The error messages list
*
* @var array
*/
private array $messages = [];
/**
* The corrupted fields list
*
* @var array
*/
private array $corrupted_fields = [];
/**
* The corrupted rule list
*
* @var array
*/
private array $corrupted_rules = [];
/**
* Validate constructor.
*
* @param bool $fails
* @param ?string $message
* @param array $corrupted_fields
*
* @return void
*/
public function __construct(bool $fails, ?string $message = null, array $corrupted_fields = [])
{
$this->fails = $fails;
$this->last_message = $message;
$this->corrupted_fields = array_keys($corrupted_fields);
$this->corrupted_rules = [];
$this->messages = [];
foreach ($corrupted_fields as $key => $corrupted) {
foreach ($corrupted as $fields) {
$this->messages[$key] = $fields["message"];
$this->corrupted_rules[$key] = $fields["masque"];
}
}
}
/**
* Allows to know the status of the validation
*
* @return bool
*/
public function fails(): bool
{
return $this->fails;
}
/**
* Informs about fields that could not be validated
*
* @return array
*/
public function getCorruptedFields(): array
{
return $this->corrupted_fields;
}
/**
* The error message on the last commit
*
* @return array
*/
public function getFailsRules(): array
{
return $this->corrupted_rules;
}
/**
* The error message on the last commit
*
* @return string
*/
public function getLastMessage(): string
{
return $this->last_message;
}
/**
* The error message on the last commit
*
* @return array
*/
public function getMessages(): array
{
return $this->messages;
}
/**
* Throw error
*
* @throws ValidationException
*/
public function throwError(): void
{
response()->status(400);
throw new ValidationException(
"Error on data validation sent",
$this->messages
);
}
}