From 8dd6f5a00876d9b2fda8e88e3759981499c15f0c Mon Sep 17 00:00:00 2001 From: sairilseb-me <67535165+sairilseb-me@users.noreply.github.com> Date: Sat, 3 Sep 2022 07:38:39 +0800 Subject: [PATCH 1/2] Create validation rule function on User Controller --- app/Http/Controllers/UsersController.php | 46 ++++++++++++------------ 1 file changed, 22 insertions(+), 24 deletions(-) diff --git a/app/Http/Controllers/UsersController.php b/app/Http/Controllers/UsersController.php index 8b0de8f..61fbcee 100644 --- a/app/Http/Controllers/UsersController.php +++ b/app/Http/Controllers/UsersController.php @@ -9,6 +9,26 @@ class UsersController extends Controller { + public function validateRule($option){ + + $arrayObj = ['email' => 'required|email|unique', + 'password' => 'required|string', + 'first_name' => 'required|string', + 'middle_name' => 'sometimes|string', + 'last_name' => 'required|string', + 'date_of_birth' => 'required|date', + 'fathers_name' => 'required| string', + 'fathers_citizenship' => 'required | string', + 'mothers_name' => 'required |string', + 'mothers_citizenship' => 'required|string', + 'address' => 'required | string']; + + if($option) return $arrayObj; + return array_slice($option, 2); + } + + + public function index() { return User::all(); @@ -23,19 +43,7 @@ public function show($id) public function create(Request $request) { - $request->validate([ - 'email' => 'required|email|unique', - 'password' => 'required|string', - 'first_name' => 'required|string', - 'middle_name' => 'sometimes|string', - 'last_name' => 'required|string', - 'date_of_birth' => 'required|date', - 'fathers_name' => 'required| string', - 'fathers_citizenship' => 'required | string', - 'mothers_name' => 'required |string', - 'mothers_citizenship' => 'required|string', - 'address' => 'required | string', - ]); + $request->validate($this->validateRule("create")); $user = User::create([ 'id' => Str::uuid(), @@ -59,17 +67,7 @@ public function create(Request $request) public function update(Request $request, $id) { - $request->validate([ - 'first_name' => 'required|string', - 'middle_name' => 'sometimes|string', - 'last_name' => 'required|string', - 'date_of_birth' => 'required|date', - 'fathers_name' => 'required| string', - 'fathers_citizenship' => 'required | string', - 'mothers_name' => 'required |string', - 'mothers_citizenship' => 'required|string', - 'address' => 'required | string', - ]); + $request->validate($this->validateRule('update')); $user = User::find($id); if (!$user) return response()->json(['status' => 'failed', 'message' => 'Failed to update a user.']); From 1c1c0908da41cc6086dde59bae15ac975c437769 Mon Sep 17 00:00:00 2001 From: sairilseb-me <67535165+sairilseb-me@users.noreply.github.com> Date: Sat, 3 Sep 2022 17:03:27 +0800 Subject: [PATCH 2/2] Fix error of validation of input data --- app/Http/Controllers/UsersController.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Http/Controllers/UsersController.php b/app/Http/Controllers/UsersController.php index 61fbcee..3551228 100644 --- a/app/Http/Controllers/UsersController.php +++ b/app/Http/Controllers/UsersController.php @@ -11,7 +11,7 @@ class UsersController extends Controller { public function validateRule($option){ - $arrayObj = ['email' => 'required|email|unique', + $arrayObj = ['email' => 'required|email', 'password' => 'required|string', 'first_name' => 'required|string', 'middle_name' => 'sometimes|string',