Index: app/Http/Requests/Dashboard/DocumentRequest.php
===================================================================
--- app/Http/Requests/Dashboard/DocumentRequest.php	(revision 24a616f69ea5bcfc52f7d556c82a951a28dd130a)
+++ app/Http/Requests/Dashboard/DocumentRequest.php	(revision 24a616f69ea5bcfc52f7d556c82a951a28dd130a)
@@ -0,0 +1,56 @@
+<?php
+
+namespace App\Http\Requests\Dashboard;
+
+use App\Models\Document;
+use Illuminate\Foundation\Http\FormRequest;
+
+class DocumentRequest extends FormRequest
+{
+    /**
+     * Determine if the user is authorized to make this request.
+     *
+     * @return bool
+     */
+    public function authorize()
+    {
+        if($this->isMethod("patch")) {
+            $document = Document::find($this->route("id"));
+            return auth()->user()->hasPermission("edit_all_documents") || ($document->user->id == auth()->user()->id);
+        }
+
+        return true;
+    }
+
+    /**
+     * Get the validation rules that apply to the request.
+     *
+     * @return array
+     */
+    public function rules()
+    {
+        $rules = [
+            "arch_id" => "required|min:10|max:255",
+            "name" => "required|min:10|max:255",
+            "department" => "required|integer|exists:departments,id",
+            "description" => "required|min:30",
+        ];
+
+        if($this->isMethod("patch")) {
+            $fileRules = [
+                "file_item.*" => "mimes:jpg,jpeg,png|max:4096"
+            ];
+        } else {
+            $fileRules = [
+                "file_item.*" => "mimes:jpg,jpeg,png|max:4096"
+            ];
+        }
+
+        $rules = array_merge(
+            $rules,
+            $fileRules,
+        );
+
+        return $rules;
+    }
+}
Index: app/Http/Requests/Dashboard/NewUserRequest.php
===================================================================
--- app/Http/Requests/Dashboard/NewUserRequest.php	(revision 194a35967c638db611da70bbf868d51cd9124ed2)
+++ app/Http/Requests/Dashboard/NewUserRequest.php	(revision 24a616f69ea5bcfc52f7d556c82a951a28dd130a)
@@ -30,5 +30,6 @@
             "email" => "required|string|email|max:255|unique:users,email",
             "username" => "required|min:8|unique:users,username",
-            "userRole" => "required|exists:roles,id"
+            "userRole" => "required|exists:roles,id",
+            "avatar" => "mimes:jpeg,png,gif|max:5000",
         ];
     }
Index: app/Http/Requests/Dashboard/UpdateUserData.php
===================================================================
--- app/Http/Requests/Dashboard/UpdateUserData.php	(revision 24a616f69ea5bcfc52f7d556c82a951a28dd130a)
+++ app/Http/Requests/Dashboard/UpdateUserData.php	(revision 24a616f69ea5bcfc52f7d556c82a951a28dd130a)
@@ -0,0 +1,39 @@
+<?php
+
+namespace App\Http\Requests\Dashboard;
+
+use Illuminate\Foundation\Http\FormRequest;
+
+class UpdateUserData extends FormRequest
+{
+    /**
+     * Determine if the user is authorized to make this request.
+     *
+     * @return bool
+     */
+    public function authorize()
+    {
+        return true;
+    }
+
+    /**
+     * Get the validation rules that apply to the request.
+     *
+     * @return array
+     */
+    public function rules()
+    {
+        return [
+            "name" => "required|alpha|min:2|max:255",
+            "surname" => "required|alpha|min:2|max:255",
+            "mobile_number" => "required|unique:users,mobile_number,$this->id,id",
+            "avatar" => "mimes:jpeg,png,gif|max:5000",
+        ];
+    }
+
+    protected function getValidatorInstance()
+    {
+
+        return parent::getValidatorInstance();
+    }
+}
Index: app/Http/Requests/Dashboard/UpdateUserRequest.php
===================================================================
--- app/Http/Requests/Dashboard/UpdateUserRequest.php	(revision 194a35967c638db611da70bbf868d51cd9124ed2)
+++ app/Http/Requests/Dashboard/UpdateUserRequest.php	(revision 24a616f69ea5bcfc52f7d556c82a951a28dd130a)
@@ -30,5 +30,6 @@
             "email" => "required|string|email|max:255|unique:users,email,$this->id,id",
             "username" => "required|min:8|unique:users,username,$this->id,id",
-            "userRole" => "required|exists:roles,id"
+            "userRole" => "required|exists:roles,id",
+            "avatar" => "mimes:jpeg,png,gif|max:5000",
         ];
     }
