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
|
|
|
|