Skip to content

Commit 3ff21e7

Browse files
authored
Added Laravel 10 support
1 parent 1ce1b58 commit 3ff21e7

File tree

5 files changed

+47
-14
lines changed

5 files changed

+47
-14
lines changed

composer.json

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -17,22 +17,23 @@
1717
],
1818
"require": {
1919
"php": "^8.1",
20-
"illuminate/contracts": "^9.0",
21-
"spatie/laravel-package-tools": "^1.13",
22-
"uzbek/laravel-attribute-scanner": "^0.1.5"
20+
"illuminate/contracts": "^9.0|^10.0",
21+
"spatie/laravel-package-tools": "^1.14",
22+
"uzbek/laravel-attribute-scanner": "^0.1"
2323
},
2424
"require-dev": {
25-
"laravel/pint": "^1.1",
26-
"nunomaduro/collision": "^6.2",
27-
"orchestra/testbench": "^7.6",
28-
"pestphp/pest": "^1.21",
29-
"pestphp/pest-plugin-laravel": "^1.2",
30-
"phpunit/phpunit": "^9.5"
25+
"laravel/pint": "^1.7",
26+
"nunomaduro/collision": "^6.4",
27+
"orchestra/testbench": "^7.24",
28+
"pestphp/pest": "^1.22",
29+
"pestphp/pest-plugin-laravel": "^1.4",
30+
"phpunit/phpunit": "^9.6"
3131
},
3232
"autoload": {
3333
"psr-4": {
3434
"Uzbek\\LaravelValidationAttributes\\": "src"
35-
}
35+
},
36+
"files": ["src/helpers.php"]
3637
},
3738
"autoload-dev": {
3839
"psr-4": {

src/Attributes/Validators.php

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,15 @@ class Validators
99
{
1010
public array $items = [];
1111

12-
public function __construct(array $rules)
12+
public function __construct(array|string $key, array|string|null $rules = null)
1313
{
14+
if(is_array($key)){
15+
$rules = $key;
16+
} elseif (is_string($key) && $rules !== null) {
17+
$rules = [$key => $rules];
18+
} else {
19+
$rules = [];
20+
}
1421
if (count($rules) > 0) {
1522
foreach ($rules as $key => $rule) {
1623
if (is_string($key) && (is_string($rule) || (is_array($rule) && count($rule) > 0))) {

src/LaravelValidationAttributes.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@
1111

1212
class LaravelValidationAttributes
1313
{
14+
public static array $validated = [];
15+
public static array $rules = [];
1416
public function validationsList(): array
1517
{
1618
return Cache::remember(config('validation-attributes.cache_name', 'laravel-validation-attributes'), config('validation-attributes.cache_time', 60), function () {

src/ValidationAttributesMiddleware.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ class ValidationAttributesMiddleware
1313
/**
1414
* Handle an incoming request.
1515
*
16-
* @param Request $request
16+
* @param Request $request
1717
* @param \Closure(Request): (Response|RedirectResponse) $next
1818
* @return Response|RedirectResponse
1919
*/
@@ -22,8 +22,8 @@ public function handle(Request $request, Closure $next)
2222
if (config('validation-attributes.enabled', false) === true) {
2323
$validations = ValidationAttributes::validationsList();
2424
if (isset($validations[$request->route()->getActionName()])) {
25-
$rules = $validations[$request->route()->getActionName()];
26-
$request->validate($rules);
25+
LaravelValidationAttributes::$rules = $validations[$request->route()->getActionName()];
26+
LaravelValidationAttributes::$validated = $request->validate(LaravelValidationAttributes::$rules);
2727
}
2828
}
2929

src/helpers.php

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
<?php
2+
3+
use Uzbek\LaravelValidationAttributes\LaravelValidationAttributes;
4+
5+
if (!function_exists('validated')) {
6+
function validated(string $key = null, $default = null)
7+
{
8+
if ($key === null) {
9+
return LaravelValidationAttributes::$validated;
10+
}
11+
12+
return LaravelValidationAttributes::$validated[$key] ?? $default;
13+
}
14+
}
15+
16+
17+
if (!function_exists('attribute_rules')) {
18+
function attribute_rules(): array
19+
{
20+
return LaravelValidationAttributes::$rules;
21+
}
22+
}
23+

0 commit comments

Comments
 (0)