Index: app/Http/Requests/Dashboard/EmailSettingsRequest.php
===================================================================
--- app/Http/Requests/Dashboard/EmailSettingsRequest.php	(revision 194a35967c638db611da70bbf868d51cd9124ed2)
+++ app/Http/Requests/Dashboard/EmailSettingsRequest.php	(revision 194a35967c638db611da70bbf868d51cd9124ed2)
@@ -0,0 +1,30 @@
+<?php
+
+namespace App\Http\Requests\Dashboard;
+
+use Illuminate\Foundation\Http\FormRequest;
+
+class EmailSettingsRequest 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 [
+            "email" => "required|string|email|max:255|unique:users,email,$this->id,id",
+        ];
+    }
+}
Index: app/Http/Requests/Dashboard/NewDepartmentRequest.php
===================================================================
--- app/Http/Requests/Dashboard/NewDepartmentRequest.php	(revision 194a35967c638db611da70bbf868d51cd9124ed2)
+++ app/Http/Requests/Dashboard/NewDepartmentRequest.php	(revision 194a35967c638db611da70bbf868d51cd9124ed2)
@@ -0,0 +1,31 @@
+<?php
+
+namespace App\Http\Requests\Dashboard;
+
+use Illuminate\Foundation\Http\FormRequest;
+
+class NewDepartmentRequest 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|min:2|max:25|unique:departments,name",
+        "code" => "required|min:2|max:10|unique:departments,code"
+        ];
+    }
+}
Index: app/Http/Requests/Dashboard/NewUserRequest.php
===================================================================
--- app/Http/Requests/Dashboard/NewUserRequest.php	(revision 194a35967c638db611da70bbf868d51cd9124ed2)
+++ app/Http/Requests/Dashboard/NewUserRequest.php	(revision 194a35967c638db611da70bbf868d51cd9124ed2)
@@ -0,0 +1,41 @@
+<?php
+
+namespace App\Http\Requests\Dashboard;
+
+use Illuminate\Foundation\Http\FormRequest;
+
+class NewUserRequest 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",
+            "email" => "required|string|email|max:255|unique:users,email",
+            "username" => "required|min:8|unique:users,username",
+            "userRole" => "required|exists:roles,id"
+        ];
+    }
+
+    protected function getValidatorInstance()
+    {
+
+        return parent::getValidatorInstance();
+    }
+}
Index: app/Http/Requests/Dashboard/PasswordSettingsRequest.php
===================================================================
--- app/Http/Requests/Dashboard/PasswordSettingsRequest.php	(revision 194a35967c638db611da70bbf868d51cd9124ed2)
+++ app/Http/Requests/Dashboard/PasswordSettingsRequest.php	(revision 194a35967c638db611da70bbf868d51cd9124ed2)
@@ -0,0 +1,39 @@
+<?php
+
+namespace App\Http\Requests\Dashboard;
+
+use Illuminate\Foundation\Http\FormRequest;
+use Illuminate\Support\Facades\Hash;
+
+class PasswordSettingsRequest 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 [
+            "current_password" => [
+                "required",
+                function($attribute, $value, $fail) {
+                    if(!Hash::check($value, auth()->user()->password)) {
+                        $fail("Current password is invalid.");
+                    }
+                }
+            ],
+            "password" => "required|string|confirmed|min:8",
+        ];
+    }
+}
Index: app/Http/Requests/Dashboard/UpdateDepartmentRequest.php
===================================================================
--- app/Http/Requests/Dashboard/UpdateDepartmentRequest.php	(revision 194a35967c638db611da70bbf868d51cd9124ed2)
+++ app/Http/Requests/Dashboard/UpdateDepartmentRequest.php	(revision 194a35967c638db611da70bbf868d51cd9124ed2)
@@ -0,0 +1,31 @@
+<?php
+
+namespace App\Http\Requests\Dashboard;
+
+use Illuminate\Foundation\Http\FormRequest;
+
+class UpdateDepartmentRequest 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|min:2|max:25|unique:departments,name,$this->id,id",
+            "code" => "required|min:2|max:10|unique:departments,code,$this->id,id"
+        ];
+    }
+}
Index: app/Http/Requests/Dashboard/UpdateUserRequest.php
===================================================================
--- app/Http/Requests/Dashboard/UpdateUserRequest.php	(revision 194a35967c638db611da70bbf868d51cd9124ed2)
+++ app/Http/Requests/Dashboard/UpdateUserRequest.php	(revision 194a35967c638db611da70bbf868d51cd9124ed2)
@@ -0,0 +1,41 @@
+<?php
+
+namespace App\Http\Requests\Dashboard;
+
+use Illuminate\Foundation\Http\FormRequest;
+
+class UpdateUserRequest 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",
+            "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"
+        ];
+    }
+
+    protected function getValidatorInstance()
+    {
+
+        return parent::getValidatorInstance();
+    }
+}
Index: app/Http/Requests/Dashboard/UsernameSettingsRequest.php
===================================================================
--- app/Http/Requests/Dashboard/UsernameSettingsRequest.php	(revision 194a35967c638db611da70bbf868d51cd9124ed2)
+++ app/Http/Requests/Dashboard/UsernameSettingsRequest.php	(revision 194a35967c638db611da70bbf868d51cd9124ed2)
@@ -0,0 +1,30 @@
+<?php
+
+namespace App\Http\Requests\Dashboard;
+
+use Illuminate\Foundation\Http\FormRequest;
+
+class UsernameSettingsRequest 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 [
+            "username" => "required|alpha_dash|min:8|unique:users,username,$this->id,id"
+        ];
+    }
+}
