From 7bbdf0fee8e24026c163648792f88c900bad8de7 Mon Sep 17 00:00:00 2001 From: "venkatesh.r" Date: Fri, 27 Mar 2026 15:21:53 +0530 Subject: [PATCH] FIX_FORM_VALIDATION --- app/Controllers/ClientController.php | 43 +++++++++++++++++++++------- 1 file changed, 32 insertions(+), 11 deletions(-) diff --git a/app/Controllers/ClientController.php b/app/Controllers/ClientController.php index 2d124c53..5f61287b 100755 --- a/app/Controllers/ClientController.php +++ b/app/Controllers/ClientController.php @@ -2706,9 +2706,9 @@ class ClientController extends AdminController 'rules' => 'required', 'errors' => ['required' => 'Please select an Insurer.'] ], - 'tpa' => [ + 'cd_ac_no' => [ 'rules' => 'required', - 'errors' => ['required' => 'Please select a TPA.'] + 'errors' => ['required' => 'Please select an CD account number.'] ], 'policy_no' => [ 'rules' => ['required', 'regex_match[/^[a-zA-Z0-9\s_\-\/\\\]+$/]'], @@ -2740,8 +2740,10 @@ class ClientController extends AdminController 'errors' => ['required' => 'End date is required.'] ], 'wellness_plan_id' => [ - 'rules' => 'permit_empty|alpha_numeric', - 'errors' => ['alpha_numeric' => 'Wellness Plan ID can only contain letters and numbers.'] + 'rules' => 'permit_empty|regex_match[/^[a-zA-Z0-9\/_-]+$/]', + 'errors' => [ + 'regex_match' => 'Wellness Plan ID can only contain letters, numbers, hyphens (-), underscores (_), and forward slashes (/).' + ] ], 'wellness_vendor_id' => [ 'rules' => 'permit_empty' @@ -2754,6 +2756,13 @@ class ClientController extends AdminController 'is_lgbtq' => ['rules' => 'permit_empty'] ]; + if($request_post_data['policy_type_id'] == 2){ + $rules['tpa'] = [ + 'rules' => 'required', + 'errors' => ['required' => 'Please select a TPA.'] + ]; + } + // 2. Run the initial validation $isValid = $this->validate($rules); @@ -2876,7 +2885,11 @@ class ClientController extends AdminController /** here ci4 rules not implemented, because UI screen Fields are hide/show implemented thats why */ public function editClientPolicy() - { + { + + $data = $this->request->getPost(); + $sanitized_post_data = sanitizeInputArrayAdvanced($data); + $rules = [ 'client_branch_id' => [ 'rules' => 'required', @@ -2893,9 +2906,9 @@ class ClientController extends AdminController 'rules' => 'required', 'errors' => ['required' => 'Please select an Insurer.'] ], - 'tpa' => [ + 'cd_ac_no' => [ 'rules' => 'required', - 'errors' => ['required' => 'Please select a TPA.'] + 'errors' => ['required' => 'Please select an CD account number.'] ], 'policy_no' => [ 'rules' => ['required', 'regex_match[/^[a-zA-Z0-9\s_\-\/\\\]+$/]'], @@ -2927,8 +2940,10 @@ class ClientController extends AdminController 'errors' => ['required' => 'End date is required.'] ], 'wellness_plan_id' => [ - 'rules' => 'permit_empty|alpha_numeric', - 'errors' => ['alpha_numeric' => 'Wellness Plan ID can only contain letters and numbers.'] + 'rules' => 'permit_empty|regex_match[/^[a-zA-Z0-9\/_-]+$/]', + 'errors' => [ + 'regex_match' => 'Wellness Plan ID can only contain letters, numbers, hyphens (-), underscores (_), and forward slashes (/).' + ] ], 'wellness_vendor_id' => [ 'rules' => 'permit_empty' @@ -2941,6 +2956,13 @@ class ClientController extends AdminController 'is_lgbtq' => ['rules' => 'permit_empty'] ]; + if($data['policy_type_id'] == 2){ + $rules['tpa'] = [ + 'rules' => 'required', + 'errors' => ['required' => 'Please select a TPA.'] + ]; + } + // 2. Run the initial validation $isValid = $this->validate($rules); @@ -2968,8 +2990,7 @@ class ClientController extends AdminController } $this->myLogger->logme('error', 'Client policy function called'); - $data = $this->request->getPost(); - $sanitized_post_data = sanitizeInputArrayAdvanced($data); + $id = $sanitized_post_data['PrimaryKey'] ?? null; $client_id = $sanitized_post_data['client_id'] ?? null;