diff --git a/app/Http/Requests/StorePackageRequest.php b/app/Http/Requests/StorePackageRequest.php index 678b2ae9..156dc60b 100644 --- a/app/Http/Requests/StorePackageRequest.php +++ b/app/Http/Requests/StorePackageRequest.php @@ -2,6 +2,7 @@ namespace App\Http\Requests; +use App\Rules\ValidateItemOwnership; use Illuminate\Foundation\Http\FormRequest; class StorePackageRequest extends FormRequest @@ -23,7 +24,8 @@ class StorePackageRequest extends FormRequest return [ 'name' => 'required|max:250', 'note' => 'nullable', - 'items' => 'required', + 'items' => 'required|array|min:1', + 'items.*' => ['exists:items,id','integer',new ValidateItemOwnership()], ]; break; } @@ -33,7 +35,8 @@ class StorePackageRequest extends FormRequest return [ 'name' => 'required|max:250', 'note' => 'nullable', - 'items' => 'required', + 'items' => 'required|array|min:1', + 'items.*' => ['exists:items,id','integer',new ValidateItemOwnership()], ]; break; diff --git a/app/Rules/ValidateItemOwnership.php b/app/Rules/ValidateItemOwnership.php new file mode 100644 index 00000000..0ef0c5f0 --- /dev/null +++ b/app/Rules/ValidateItemOwnership.php @@ -0,0 +1,23 @@ +user_id === auth()->id())){ + $fail(":attribute have invalid ownership"); + } + } +}