|
1
|
|
|
<?php |
|
2
|
|
|
|
|
3
|
|
|
/** |
|
4
|
|
|
* This file is part of Dimtrovich/Validation. |
|
5
|
|
|
* |
|
6
|
|
|
* (c) 2023 Dimitri Sitchet Tomkeu <[email protected]> |
|
7
|
|
|
* |
|
8
|
|
|
* For the full copyright and license information, please view |
|
9
|
|
|
* the LICENSE file that was distributed with this source code. |
|
10
|
|
|
*/ |
|
11
|
|
|
|
|
12
|
|
|
namespace Dimtrovich\Validation; |
|
13
|
|
|
|
|
14
|
|
|
use BlitzPHP\Utilities\String\Text; |
|
15
|
|
|
|
|
16
|
|
|
/** |
|
17
|
|
|
* Facade to access to rules validator |
|
18
|
|
|
* |
|
19
|
|
|
* @method static \Rakit\Validation\Rules\Accepted accepted() |
|
20
|
|
|
* @method static \Dimtrovich\Validation\Rules\AcceptedIf acceptedIf() |
|
21
|
|
|
* @method static \Dimtrovich\Validation\Rules\ActiveURL activeUrl() |
|
22
|
|
|
* @method static \Dimtrovich\Validation\Rules\After after() |
|
23
|
|
|
* @method static \Dimtrovich\Validation\Rules\AfterOrEqual afterOrEqual() |
|
24
|
|
|
* @method static \Dimtrovich\Validation\Rules\Alpha alpha() |
|
25
|
|
|
* @method static \Dimtrovich\Validation\Rules\AlphaDash alphaDash() |
|
26
|
|
|
* @method static \Dimtrovich\Validation\Rules\AlphaNum alphaNum() |
|
27
|
|
|
* @method static \Rakit\Validation\Rules\AlphaSpaces alphaSpaces() |
|
28
|
|
|
* @method static \Dimtrovich\Validation\Rules\AnyOf anyOf(array $allowed_values) |
|
29
|
|
|
* @method static \Dimtrovich\Validation\Rules\TypeArray array() |
|
30
|
|
|
* @method static \Dimtrovich\Validation\Rules\ArrayCanOnlyHaveKeys arrayCanOnlyHaveKeys(array $keys) |
|
31
|
|
|
* @method static \Dimtrovich\Validation\Rules\ArrayMustHaveKeys arrayMustHaveKeys(array $keys) |
|
32
|
|
|
* @method static \Dimtrovich\Validation\Rules\Ascii ascii() |
|
33
|
|
|
* @method static \Dimtrovich\Validation\Rules\Base64 base64() |
|
34
|
|
|
* @method static \Dimtrovich\Validation\Rules\Before before() |
|
35
|
|
|
* @method static \Dimtrovich\Validation\Rules\BeforeOrEqual beforeOrEqual() |
|
36
|
|
|
* @method static \Dimtrovich\Validation\Rules\Between between() |
|
37
|
|
|
* @method static \Dimtrovich\Validation\Rules\Bic bic() |
|
38
|
|
|
* @method static \Dimtrovich\Validation\Rules\BitcoinAddress bitcoinAddress() |
|
39
|
|
|
* @method static \Rakit\Validation\Rules\Boolean boolean() |
|
40
|
|
|
* @method static \Rakit\Validation\Rules\Callback callback() |
|
41
|
|
|
* @method static \Dimtrovich\Validation\Rules\Camelcase camelcase() |
|
42
|
|
|
* @method static \Dimtrovich\Validation\Rules\CapitalCharWithNumber capitalCharWithNumber() |
|
43
|
|
|
* @method static \Dimtrovich\Validation\Rules\CarNumber carNumber() |
|
44
|
|
|
* @method static \Dimtrovich\Validation\Rules\Cidr cidr() |
|
45
|
|
|
* @method static \Dimtrovich\Validation\Rules\Confirmed confirmed() |
|
46
|
|
|
* @method static \Dimtrovich\Validation\Rules\Contains contains() |
|
47
|
|
|
* @method static \Dimtrovich\Validation\Rules\ContainsAll containsAll() |
|
48
|
|
|
* @method static \Dimtrovich\Validation\Rules\CreditCard creditCard() |
|
49
|
|
|
* @method static \Dimtrovich\Validation\Rules\Currency currency() |
|
50
|
|
|
* @method static \Dimtrovich\Validation\Rules\Date date(?string $format = null) |
|
51
|
|
|
* @method static \Dimtrovich\Validation\Rules\DateEquals dateEquals() |
|
52
|
|
|
* @method static \Dimtrovich\Validation\Rules\Datetime datetime() |
|
53
|
|
|
* @method static \Dimtrovich\Validation\Rules\Decimal decimal(float $min, float $max = null) |
|
54
|
|
|
* @method static \Dimtrovich\Validation\Rules\Declined declined() |
|
55
|
|
|
* @method static \Dimtrovich\Validation\Rules\DeclinedIf declinedIf() |
|
56
|
|
|
* @method static \Rakit\Validation\Rules\Defaults defaults() |
|
57
|
|
|
* @method static \Rakit\Validation\Rules\Different different() |
|
58
|
|
|
* @method static \Rakit\Validation\Rules\Digits digits() |
|
59
|
|
|
* @method static \Rakit\Validation\Rules\DigitsBetween digitsBetween() |
|
60
|
|
|
* @method static \Dimtrovich\Validation\Rules\Dimensions dimensions() |
|
61
|
|
|
* @method static \Dimtrovich\Validation\Rules\DiscordUsername discordUsername() |
|
62
|
|
|
* @method static \Dimtrovich\Validation\Rules\Distinct distinct() |
|
63
|
|
|
* @method static \Dimtrovich\Validation\Rules\DoesntEndWith doesntEndWith() |
|
64
|
|
|
* @method static \Dimtrovich\Validation\Rules\DoesntStartWith doesntStartWith() |
|
65
|
|
|
* @method static \Dimtrovich\Validation\Rules\Domain domain() |
|
66
|
|
|
* @method static \Dimtrovich\Validation\Rules\Duplicate duplicate() |
|
67
|
|
|
* @method static \Dimtrovich\Validation\Rules\DuplicateCharacter duplicateCharacter() |
|
68
|
|
|
* @method static \Dimtrovich\Validation\Rules\Ean ean(array $lengths = [8, 13]) |
|
69
|
|
|
* @method static \Dimtrovich\Validation\Rules\Email email() |
|
70
|
|
|
* @method static \Dimtrovich\Validation\Rules\EndWith endWith() |
|
71
|
|
|
* @method static \Dimtrovich\Validation\Rules\Enum enum(string $type = null) |
|
72
|
|
|
* @method static \Dimtrovich\Validation\Rules\EvenNumber evenNumber() |
|
73
|
|
|
* @method static \Dimtrovich\Validation\Rules\Ext ext() |
|
74
|
|
|
* @method static \Rakit\Validation\Rules\Extension extension() |
|
75
|
|
|
* @method static \Dimtrovich\Validation\Rules\File file() |
|
76
|
|
|
* @method static \Dimtrovich\Validation\Rules\TypeFloat float() |
|
77
|
|
|
* @method static \Dimtrovich\Validation\Rules\Fullname fullname() |
|
78
|
|
|
* @method static \Dimtrovich\Validation\Rules\Gt gt() |
|
79
|
|
|
* @method static \Dimtrovich\Validation\Rules\Gte gte() |
|
80
|
|
|
* @method static \Dimtrovich\Validation\Rules\Gtin gtin(array $lengths = [8, 12, 13, 14]) |
|
81
|
|
|
* @method static \Dimtrovich\Validation\Rules\Hash hash(string $algo, bool $allowUppercase = false) |
|
82
|
|
|
* @method static \Dimtrovich\Validation\Rules\Hashtag hashtag() |
|
83
|
|
|
* @method static \Dimtrovich\Validation\Rules\Hex hex() |
|
84
|
|
|
* @method static \Dimtrovich\Validation\Rules\Hexcolor hexcolor() |
|
85
|
|
|
* @method static \Dimtrovich\Validation\Rules\Htmlclean htmlclean() |
|
86
|
|
|
* @method static \Dimtrovich\Validation\Rules\Htmltag htmltag() |
|
87
|
|
|
* @method static \Dimtrovich\Validation\Rules\Iban iban(array|string $countries = []) |
|
88
|
|
|
* @method static \Dimtrovich\Validation\Rules\Image image() |
|
89
|
|
|
* @method static \Dimtrovich\Validation\Rules\Imei imei() |
|
90
|
|
|
* @method static \Rakit\Validation\Rules\In in() |
|
91
|
|
|
* @method static \Dimtrovich\Validation\Rules\InArray inArray() |
|
92
|
|
|
* @method static \Dimtrovich\Validation\Rules\TypeInstanceOf instanceOf(string $class_name) |
|
93
|
|
|
* @method static \Rakit\Validation\Rules\Integer integer() |
|
94
|
|
|
* @method static \Rakit\Validation\Rules\Ip ip() |
|
95
|
|
|
* @method static \Rakit\Validation\Rules\Ipv4 ipv4() |
|
96
|
|
|
* @method static \Rakit\Validation\Rules\Ipv6 ipv6() |
|
97
|
|
|
* @method static \Dimtrovich\Validation\Rules\Isbn isbn(array $lengths = [10, 13]) |
|
98
|
|
|
* @method static \Rakit\Validation\Rules\Issn issn() |
|
99
|
|
|
* @method static \Rakit\Validation\Rules\Json json() |
|
100
|
|
|
* @method static \Dimtrovich\Validation\Rules\Jwt jwt() |
|
101
|
|
|
* @method static \Dimtrovich\Validation\Rules\Kebabcase kebabcase() |
|
102
|
|
|
* @method static \Dimtrovich\Validation\Rules\Length length(int $length) |
|
103
|
|
|
* @method static \Rakit\Validation\Rules\Lowercase lowercase() |
|
104
|
|
|
* @method static \Dimtrovich\Validation\Rules\Lt lt() |
|
105
|
|
|
* @method static \Dimtrovich\Validation\Rules\Lte lte() |
|
106
|
|
|
* @method static \Dimtrovich\Validation\Rules\MacAddress macAddress() |
|
107
|
|
|
* @method static \Dimtrovich\Validation\Rules\Max max() |
|
108
|
|
|
* @method static \Dimtrovich\Validation\Rules\Mimes mimes(array $allowed_types) |
|
109
|
|
|
* @method static \Dimtrovich\Validation\Rules\Mimetypes mimetypes(array $allowed_types) |
|
110
|
|
|
* @method static \Dimtrovich\Validation\Rules\Min min() |
|
111
|
|
|
* @method static \Dimtrovich\Validation\Rules\Missing missing() |
|
112
|
|
|
* @method static \Dimtrovich\Validation\Rules\MissingIf missingIf() |
|
113
|
|
|
* @method static \Dimtrovich\Validation\Rules\MissingUnless missingUnless() |
|
114
|
|
|
* @method static \Dimtrovich\Validation\Rules\MissingWith missingWith() |
|
115
|
|
|
* @method static \Dimtrovich\Validation\Rules\MissingWithAll missingWithAll() |
|
116
|
|
|
* @method static \Dimtrovich\Validation\Rules\MultipleOf multipleOf() |
|
117
|
|
|
* @method static \Rakit\Validation\Rules\NotIn notIn() |
|
118
|
|
|
* @method static \Dimtrovich\Validation\Rules\NotInArray notInArray() |
|
119
|
|
|
* @method static \Dimtrovich\Validation\Rules\NotRegex notRegex() |
|
120
|
|
|
* @method static \Rakit\Validation\Rules\Nullable nullable() |
|
121
|
|
|
* @method static \Rakit\Validation\Rules\Numeric numeric() |
|
122
|
|
|
* @method static \Dimtrovich\Validation\Rules\OddNumber oddNumber() |
|
123
|
|
|
* @method static \Dimtrovich\Validation\Rules\Pascalcase pascalcase() |
|
124
|
|
|
* @method static \Dimtrovich\Validation\Rules\Password password(?int $min = null) |
|
125
|
|
|
* @method static \Dimtrovich\Validation\Rules\Pattern pattern() |
|
126
|
|
|
* @method static \Dimtrovich\Validation\Rules\Phone phone(?string $country_code = null) |
|
127
|
|
|
* @method static \Dimtrovich\Validation\Rules\Port port() |
|
128
|
|
|
* @method static \Dimtrovich\Validation\Rules\Postalcode postalcode(string $country_code) |
|
129
|
|
|
* @method static \Rakit\Validation\Rules\Present present() |
|
130
|
|
|
* @method static \Dimtrovich\Validation\Rules\PresentIf presentIf(string $field, array $values) |
|
131
|
|
|
* @method static \Dimtrovich\Validation\Rules\PresentUnless presentUnless(string $field, array $values) |
|
132
|
|
|
* @method static \Dimtrovich\Validation\Rules\PresentWith presentWith(array $fields) |
|
133
|
|
|
* @method static \Dimtrovich\Validation\Rules\PresentWithAll presentWithAll(array $fields) |
|
134
|
|
|
* @method static \Dimtrovich\Validation\Rules\Prohibited prohibited() |
|
135
|
|
|
* @method static \Dimtrovich\Validation\Rules\ProhibitedIf prohibitedIf() |
|
136
|
|
|
* @method static \Dimtrovich\Validation\Rules\ProhibitedUnless prohibitedUnless() |
|
137
|
|
|
* @method static \Dimtrovich\Validation\Rules\Prohibits prohibits() |
|
138
|
|
|
* @method static \Rakit\Validation\Rules\Regex regex() |
|
139
|
|
|
* @method static \Rakit\Validation\Rules\Required required() |
|
140
|
|
|
* @method static \Rakit\Validation\Rules\RequiredIf requiredIf() |
|
141
|
|
|
* @method static \Rakit\Validation\Rules\RequiredIfAccepted requiredIfAccepted(string $field) |
|
142
|
|
|
* @method static \Rakit\Validation\Rules\RequiredIfDeclined requiredIfDeclined(string $field) |
|
143
|
|
|
* @method static \Rakit\Validation\Rules\RequiredUnless requiredUnless() |
|
144
|
|
|
* @method static \Rakit\Validation\Rules\RequiredWith requiredWith() |
|
145
|
|
|
* @method static \Rakit\Validation\Rules\RequiredWithout requiredWithout() |
|
146
|
|
|
* @method static \Rakit\Validation\Rules\RequiredWithoutAll requiredWithoutAll() |
|
147
|
|
|
* @method static \Rakit\Validation\Rules\Same same(string $field) |
|
148
|
|
|
* @method static \Dimtrovich\Validation\Rules\Semver semver() |
|
149
|
|
|
* @method static \Dimtrovich\Validation\Rules\Size size() |
|
150
|
|
|
* @method static \Dimtrovich\Validation\Rules\SlashEndOfString slashEndOfString() |
|
151
|
|
|
* @method static \Dimtrovich\Validation\Rules\Slug slug() |
|
152
|
|
|
* @method static \Dimtrovich\Validation\Rules\Snakecase snakecase() |
|
153
|
|
|
* @method static \Dimtrovich\Validation\Rules\StartWith startWith() |
|
154
|
|
|
* @method static \Dimtrovich\Validation\Rules\TypeString string() |
|
155
|
|
|
* @method static \Dimtrovich\Validation\Rules\Time time() |
|
156
|
|
|
* @method static \Dimtrovich\Validation\Rules\Timezone timezone() |
|
157
|
|
|
* @method static \Rakit\Validation\Rules\Titlecase titlecase() |
|
158
|
|
|
* @method static \Dimtrovich\Validation\Rules\Ulid ulid() |
|
159
|
|
|
* @method static \Rakit\Validation\Rules\UploadedFile uploadedFile() |
|
160
|
|
|
* @method static \Rakit\Validation\Rules\Uppercase uppercase() |
|
161
|
|
|
* @method static \Rakit\Validation\Rules\Url url() |
|
162
|
|
|
* @method static \Dimtrovich\Validation\Rules\Username username() |
|
163
|
|
|
* @method static \Dimtrovich\Validation\Rules\Uuid uuid() |
|
164
|
|
|
* @method static \Dimtrovich\Validation\Rules\vatid vatid() |
|
165
|
|
|
*/ |
|
166
|
|
|
abstract class Rule |
|
167
|
|
|
{ |
|
168
|
|
|
/** |
|
169
|
|
|
* Create and return a validator on the fly |
|
170
|
|
|
* |
|
171
|
|
|
* @return \Rakit\Validation\Rule |
|
172
|
|
|
*/ |
|
173
|
|
|
public static function __callStatic(string $name, array $arguments = []) |
|
174
|
|
|
{ |
|
175
|
20 |
|
$name = Text::snake($name); |
|
176
|
|
|
|
|
177
|
20 |
|
return Validator::rule($name, ...$arguments); |
|
178
|
|
|
} |
|
179
|
|
|
} |
|
180
|
|
|
|