From 64ff87ebfe3f357fcb7caa892b3c91be68202096 Mon Sep 17 00:00:00 2001 From: "sanjeev.p" Date: Thu, 12 Feb 2026 14:32:49 +0530 Subject: [PATCH] FIX_CodeCommit --- app/Controllers/ClientController.php | 247 ++++++++++++++++------ app/Controllers/EmployeeController.php | 2 +- app/Controllers/LeadsController.php | 8 +- app/Controllers/MasterController.php | 277 ++++++++++++------------- app/Controllers/ThzController.php | 2 +- app/Controllers/TicketController.php | 81 ++++++-- app/Controllers/UserController.php | 6 +- app/Views/cd_master_add_modal.php | 4 +- 8 files changed, 392 insertions(+), 235 deletions(-) diff --git a/app/Controllers/ClientController.php b/app/Controllers/ClientController.php index 2874c2cc..d48a3295 100755 --- a/app/Controllers/ClientController.php +++ b/app/Controllers/ClientController.php @@ -783,11 +783,19 @@ class ClientController extends AdminController ] ], + // 'cd_ac_no' => [ + // 'rules' => 'required|regex_match[/^[a-zA-Z0-9\/_\\-]+$/]', + // 'errors' => [ + // 'required' => 'Account number is required', + // 'regex_match' => 'Account number can only contain letters, numbers, slashes (/), underscores (_), and hyphens (-)', + // ] + // ], + 'cd_ac_no' => [ - 'rules' => 'required|regex_match[/^[a-zA-Z0-9\/_\\-]+$/]', + 'rules' => 'required|numeric', 'errors' => [ - 'required' => 'Account number is required', - 'regex_match' => 'Account number can only contain letters, numbers, slashes (/), underscores (_), and hyphens (-)', + 'required' => 'CD Account number is required.', + 'numeric' => 'CD Account number must contain only numbers.', ] ], @@ -984,7 +992,7 @@ class ClientController extends AdminController 'rules' => 'required|regex_match[/^[a-zA-Z0-9\s_-]+$/]|min_length[2]||max_length[45]', 'errors' => [ 'required' => 'Client Name is required', - 'regex_match' => 'Client Name can only contain letters, numbers, spaces, hyphens(-), and underscores(_).', + 'regex_match' => 'Client Name can only contain letters, numbers, spaces, hyphens(-) and underscores(_).', 'min_length' => 'Client Name must be at least 2 characters.', 'max_length' => 'Client Name must not exceed 45 characters.', ] @@ -993,7 +1001,7 @@ class ClientController extends AdminController 'rules' => 'required|regex_match[/^[a-zA-Z0-9_-]+$/]|min_length[2]||max_length[15]', 'errors' => [ 'required' => 'Client Short Name is required', - 'regex_match' => 'Client Short Name can only contain letters, numbers, hyphens(-), and underscores(_) with no spaces.', + 'regex_match' => 'Client Short Name can only contain letters, numbers, hyphens(-) and underscores(_).', 'min_length' => 'Client Short Name must be at least 2 characters.', 'max_length' => 'Client Short Name must not exceed 15 characters.', ] @@ -1729,14 +1737,14 @@ class ClientController extends AdminController 'rules' => 'required|regex_match[/^[a-zA-Z0-9\s_-]+$/]|min_length[3]', 'errors' => [ 'required' => 'Branch Name is required', - 'regex_match' => 'Branch Name can only contain letters, numbers, spaces, hyphens(-), and underscores(_).', + 'regex_match' => 'Branch Name can only contain letters, numbers, spaces, hyphens(-) and underscores(_).', ] ], 'branch_code' => [ 'rules' => 'required|regex_match[/^[a-zA-Z0-9_-]+$/]', 'errors' => [ 'required' => 'Branch Code is required', - 'regex_match' => 'Branch Code can only contain letters, numbers, hyphens(-), and underscores(_).', + 'regex_match' => 'Branch Code can only contain letters, numbers, hyphens(-) and underscores(_).', ] ], 'address1' => [ @@ -1747,23 +1755,32 @@ class ClientController extends AdminController 'rules' => 'permit_empty|string', ], 'state' => [ - 'rules' => 'required|numeric', - 'errors' => ['required' => 'State is required'] + 'label' => 'State', + 'rules' => 'required|regex_match[/^[a-zA-Z\s\-]+$/]', + 'errors' => [ + 'required' => 'State is required.', + 'regex_match' => 'State name can only contain letters, spaces, and hyphens.' + ] ], 'district' => [ - 'rules' => 'required', - 'errors' => ['required' => 'District is required.'] + 'rules' => 'required|regex_match[/^[a-zA-Z0-9\s\-]+$/]', + 'errors' => [ + 'required' => 'District is required.', + 'regex_match' => 'District can contain letters, numbers, spaces, and hyphens.' + ] ], 'city' => [ - 'rules' => 'required', - 'errors' => ['required' => 'City is required.'] + 'rules' => 'required|regex_match[/^[a-zA-Z0-9\s\-]+$/]', + 'errors' => [ + 'regex_match' => 'City can contain letters, numbers, spaces, and hyphens.' + ] ], 'pincode' => [ - 'rules' => 'required|numeric|exact_length[6]', + 'rules' => 'required|numeric|exact_length[6]', 'errors' => [ 'required' => 'Pincode is required.', - 'numeric' => 'Pincode must be numeric', - 'exact_length' => 'Pincode must be exactly 6 digits' + 'numeric' => 'Pincode must be digits only.', + 'exact_length' => 'Pincode must be exactly 6 digits.' ] ], 'gst' => [ @@ -2120,15 +2137,20 @@ class ClientController extends AdminController $rules = [ 'branch_name' => [ - 'rules' => 'required', + 'rules' => 'required|min_length[3]|regex_match[/^[a-zA-Z0-9\s\-_]+$/]', 'errors' => [ - 'required' => 'Branch Name is required', + 'required' => 'Branch Name is required', + 'min_length' => 'Branch Name must be at least 3 characters long', + 'regex_match' => 'Branch Name can only contain letters, numbers, spaces, hyphens(-) and underscores(_).' ] ], 'branch_code' => [ - 'rules' => 'required', + // Note: Codes usually don't have spaces, but I've included the others + 'rules' => 'required|min_length[2]|regex_match[/^[a-zA-Z0-9\-_]+$/]', 'errors' => [ - 'required' => 'Branch Code is required', + 'required' => 'Branch Code is required', + 'min_length' => 'Branch Code must be at least 2 characters long', + 'regex_match' => 'Branch Code can only contain letters, numbers, hyphens(-) and underscores(_).' ] ], 'address1' => [ @@ -2138,29 +2160,34 @@ class ClientController extends AdminController ] ], 'state' => [ - 'rules' => 'required', - 'errors' => [ - 'required' => 'State is required', - ] - ], - 'district' => [ - 'rules' => 'required', - 'errors' => [ - 'required' => 'District is required.', - ] - ], - 'city' => [ - 'rules' => 'required', - 'errors' => [ - 'required' => 'City is required.', - ] - ], - 'pincode' => [ - 'rules' => 'required', - 'errors' => [ - 'required' => 'Pincode is required.', - ] - ], + 'label' => 'State', + 'rules' => 'required|regex_match[/^[a-zA-Z\s\-]+$/]', + 'errors' => [ + 'required' => 'State is required.', + 'regex_match' => 'State name can only contain letters, spaces, and hyphens.' + ] + ], + 'district' => [ + 'rules' => 'required|regex_match[/^[a-zA-Z0-9\s\-]+$/]', + 'errors' => [ + 'required' => 'District is required.', + 'regex_match' => 'District can contain letters, numbers, spaces, and hyphens.' + ] + ], + 'city' => [ + 'rules' => 'required|regex_match[/^[a-zA-Z0-9\s\-]+$/]', + 'errors' => [ + 'regex_match' => 'City can contain letters, numbers, spaces, and hyphens.' + ] + ], + 'pincode' => [ + 'rules' => 'required|numeric|exact_length[6]', + 'errors' => [ + 'required' => 'Pincode is required.', + 'numeric' => 'Pincode must be digits only.', + 'exact_length' => 'Pincode must be exactly 6 digits.' + ] + ], 'gst' => [ 'rules' => 'required|regex_match[/^\d{2}[A-Z]{5}\d{4}[A-Z]{1}[A-Z\d]{1}Z[A-Z\d]{1}$/]', 'errors' => [ @@ -2169,10 +2196,11 @@ class ClientController extends AdminController ] ], 'name.*' => [ - 'rules' => 'required|alpha_space', + 'rules' => 'required|min_length[3]|regex_match[/^[a-zA-Z0-9\s\-_]+$/]', 'errors' => [ 'required' => 'Contact name is required', - 'alpha_space' => 'Contact name may contain only letters and spaces' + 'min_length' => 'Contact name must be at least 3 characters long', + 'regex_match' => 'Contact name can only contain letters, numbers, spaces, hyphens(-) and underscores(_).' ] ], 'designation.*' => [ @@ -2294,6 +2322,107 @@ class ClientController extends AdminController $client_id = $this->request->getPost('client_id'); $pre_branch_id = $this->request->getPost('pre_branch_id') ?? ''; + $rules = [ + 'branch_name' => [ + 'rules' => 'required|min_length[3]|regex_match[/^[a-zA-Z0-9\s\-_]+$/]', + 'errors' => [ + 'required' => 'Branch Name is required', + 'min_length' => 'Branch Name must be at least 3 characters long', + 'regex_match' => 'Branch Name can only contain letters, numbers, spaces, hyphens(-) and underscores(_).' + ] + ], + 'branch_code' => [ + // Note: Codes usually don't have spaces, but I've included the others + 'rules' => 'required|min_length[2]|regex_match[/^[a-zA-Z0-9\-_]+$/]', + 'errors' => [ + 'required' => 'Branch Code is required', + 'min_length' => 'Branch Code must be at least 2 characters long', + 'regex_match' => 'Branch Code can only contain letters, numbers, hyphens(-) and underscores(_).' + ] + ], + 'address1' => [ + 'rules' => 'required', + 'errors' => [ + 'required' => 'Address Line 1 is required', + ] + ], + 'state' => [ + 'label' => 'State', + 'rules' => 'required|regex_match[/^[a-zA-Z\s\-]+$/]', + 'errors' => [ + 'required' => 'State is required.', + 'regex_match' => 'State name can only contain letters, spaces, and hyphens.' + ] + ], + 'district' => [ + 'rules' => 'required|regex_match[/^[a-zA-Z0-9\s\-]+$/]', + 'errors' => [ + 'required' => 'District is required.', + 'regex_match' => 'District can contain letters, numbers, spaces, and hyphens.' + ] + ], + 'city' => [ + 'rules' => 'required|regex_match[/^[a-zA-Z0-9\s\-]+$/]', + 'errors' => [ + 'regex_match' => 'City can contain letters, numbers, spaces, and hyphens.' + ] + ], + 'pincode' => [ + 'rules' => 'required|numeric|exact_length[6]', + 'errors' => [ + 'required' => 'Pincode is required.', + 'numeric' => 'Pincode must be digits only.', + 'exact_length' => 'Pincode must be exactly 6 digits.' + ] + ], + 'gst' => [ + 'rules' => 'required|regex_match[/^\d{2}[A-Z]{5}\d{4}[A-Z]{1}[A-Z\d]{1}Z[A-Z\d]{1}$/]', + 'errors' => [ + 'required' => 'GST number is required', + 'regex_match' => 'Invalid GST Number. Example: 12ABCDE1234F5Z6' + ] + ], + 'name.*' => [ + 'rules' => 'required|min_length[3]|regex_match[/^[a-zA-Z0-9\s\-_]+$/]', + 'errors' => [ + 'required' => 'Contact name is required', + 'min_length' => 'Contact name must be at least 3 characters long', + 'regex_match' => 'Contact name can only contain letters, numbers, spaces, hyphens(-) and underscores(_).' + ] + ], + 'designation.*' => [ + 'rules' => 'required|alpha_space', + 'errors' => [ + 'required' => 'Designation is required', + 'alpha_space' => 'Designation may contain only letters and spaces' + ] + ], + 'email.*' => [ + 'rules' => 'required|regex_match[/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/]', + 'errors' => [ + 'required' => 'Email address is required.', + 'regex_match' => 'Please enter a valid email format (e.g., name@domain.com).' + ] + ], + 'mobile.*' => [ + 'rules' => 'required|numeric|exact_length[10]', + 'errors' => [ + 'required' => 'Mobile number is required', + 'numeric' => 'Mobile number must contain digits only', + 'exact_length' => 'Mobile number must be exactly 10 digits' + ] + ], + ]; + + if (!$this->validate($rules)) { + return $this->response->setStatusCode(400)->setJSON([ + 'status' => false, + 'message' => 'Input validation failed', + 'code' => 400, + 'errors' => $this->validator->getErrors() + ]); + } + $data = $this->request->getPost(); $data = sanitizeInputArrayAdvanced($data); $data['pre_branch_id'] = $pre_branch_id; @@ -2486,7 +2615,6 @@ class ClientController extends AdminController $sanitized_post_data = sanitizeInputArrayAdvanced($request_post_data); $rules = [ - // --- BASIC SELECTS (Required) --- 'client_branch_id' => [ 'rules' => 'required', 'errors' => ['required' => 'Please select a Client Branch.'] @@ -2506,13 +2634,11 @@ class ClientController extends AdminController 'rules' => 'required', 'errors' => ['required' => 'Please select a TPA.'] ], - - // --- TEXT FIELDS (Required & Specific Format) --- 'policy_no' => [ - 'rules' => 'required|regex_match[/^[a-zA-Z0-9\s_\-\/\\\]+$/]', + 'rules' => ['required', 'regex_match[/^[a-zA-Z0-9\s_\-\/\\\]+$/]'], 'errors' => [ - 'required' => 'This field is required.', - 'regex_match' => 'Only letters, numbers, spaces, _, -, /, and \ are allowed.' + 'required' => 'Policy No is required.', + 'regex_match' => 'Policy No Only letters, numbers, spaces, underscores, hyphens, forward slashes, and backslashes are allowed.' ] ], 'gst' => [ @@ -2524,30 +2650,17 @@ class ClientController extends AdminController 'less_than_equal_to' => 'GST percentage cannot exceed 100%.' ] ], - - // --- DATE FIELDS (Required) --- 'policy_start_date' => [ 'rules' => 'required', - 'errors' => [ - 'required' => 'Start date is required.', - ] + 'errors' => ['required' => 'Start date is required.'] ], 'policy_end_date' => [ 'rules' => 'required', - 'errors' => [ - 'required' => 'End date is required.', - ] - ], - - // --- PERMIT EMPTY FIELDS (Optional) --- - 'base_policy' => [ - 'rules' => 'permit_empty' + '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 (no spaces or special characters).' - ] + 'errors' => ['alpha_numeric' => 'Wellness Plan ID can only contain letters and numbers.'] ], 'wellness_vendor_id' => [ 'rules' => 'permit_empty' diff --git a/app/Controllers/EmployeeController.php b/app/Controllers/EmployeeController.php index 4a019293..e4a04375 100755 --- a/app/Controllers/EmployeeController.php +++ b/app/Controllers/EmployeeController.php @@ -2770,7 +2770,7 @@ class EmployeeController extends AdminController 'rules' => 'required|regex_match[/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/]', 'errors' => [ 'required' => 'Email address is required.', - 'regex_match' => 'Please enter a valid email format (e.g., name@company.com).' + 'regex_match' => 'Please enter a valid email format (e.g., name@domain.com).' ] ], 'mobile' => [ diff --git a/app/Controllers/LeadsController.php b/app/Controllers/LeadsController.php index 2deca1f1..6521effa 100644 --- a/app/Controllers/LeadsController.php +++ b/app/Controllers/LeadsController.php @@ -379,7 +379,7 @@ class LeadsController extends BaseController private function prepareLeadData() { $rules = [ - + 'lead_type' => [ 'rules' => 'integer', 'errors' => ['required' => 'Lead Type is required'] @@ -418,7 +418,7 @@ class LeadsController extends BaseController 'rules' => 'required|regex_match[/^[a-zA-Z0-9\s_-]+$/]|min_length[3]', 'errors' => [ 'required' => 'Branch Name is required.', - 'regex_match' => 'Branch Name can only contain letters, numbers, spaces, - and _.', + 'regex_match' => 'Branch Name can only contain letters, numbers, spaces, hyphens(-) and underscores(_)..', 'min_length' => 'Branch Name must be at least 3 characters long.' ] ], @@ -426,14 +426,14 @@ class LeadsController extends BaseController 'rules' => 'required|regex_match[/^[a-zA-Z0-9_-]+$/]', 'errors' => [ 'required' => 'Branch Code is required.', - 'regex_match' => 'Branch Code can only contain letters, numbers, - and _.' + 'regex_match' => 'Branch Code can only contain letters, numbers, hyphens(-) and underscores(_)..' ] ], 'contact_person_name' => [ 'rules' => 'required|regex_match[/^[a-zA-Z0-9_ -]+$/]', 'errors' => [ 'required' => 'Contact Person Name is required', - 'regex_match' => 'Contact person name only letters, numbers and spaces, - and _.' + 'regex_match' => 'Contact person name only letters, numbers and spaces, hyphens(-) and underscores(_)..' ] ], 'contact_person_mobile' => [ diff --git a/app/Controllers/MasterController.php b/app/Controllers/MasterController.php index cff68f18..0f5be81d 100755 --- a/app/Controllers/MasterController.php +++ b/app/Controllers/MasterController.php @@ -370,34 +370,34 @@ class MasterController extends AdminController ], 'state' => [ - 'rules' => 'required|is_natural_no_zero', - 'errors' => [ - 'required' => 'State is required' - ] - ], - - 'district' => [ - 'rules' => 'required|trim', - 'errors' => [ - 'required' => 'District is required' - ] - ], - - 'city' => [ - 'rules' => 'required|trim', - 'errors' => [ - 'required' => 'City is required' - ] - ], - - 'pincode' => [ - 'rules' => 'required|numeric|exact_length[6]', - 'errors' => [ - 'required' => 'Pincode is required', - 'numeric' => 'Pincode must contain only numbers', - 'exact_length' => 'Pincode must be exactly 6 digits' - ] - ], + 'label' => 'State', + 'rules' => 'required|regex_match[/^[a-zA-Z\s\-]+$/]', + 'errors' => [ + 'required' => 'State is required.', + 'regex_match' => 'State name can only contain letters, spaces, and hyphens.' + ] + ], + 'district' => [ + 'rules' => 'required|regex_match[/^[a-zA-Z0-9\s\-]+$/]', + 'errors' => [ + 'required' => 'District is required.', + 'regex_match' => 'District can contain letters, numbers, spaces, and hyphens.' + ] + ], + 'city' => [ + 'rules' => 'required|regex_match[/^[a-zA-Z0-9\s\-]+$/]', + 'errors' => [ + 'regex_match' => 'City can contain letters, numbers, spaces, and hyphens.' + ] + ], + 'pincode' => [ + 'rules' => 'required|numeric|exact_length[6]', + 'errors' => [ + 'required' => 'Pincode is required.', + 'numeric' => 'Pincode must be digits only.', + 'exact_length' => 'Pincode must be exactly 6 digits.' + ] + ], // ====================== // Contact Details (Array) @@ -422,7 +422,7 @@ class MasterController extends AdminController 'rules' => 'required|regex_match[/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/]', 'errors' => [ 'required' => 'Email address is required.', - 'regex_match' => 'Please enter a valid email format (e.g., name@company.com).' + 'regex_match' => 'Please enter a valid email format (e.g., name@domain.com).' ] ], @@ -611,34 +611,34 @@ class MasterController extends AdminController ], 'state' => [ - 'rules' => 'required|is_natural_no_zero', - 'errors' => [ - 'required' => 'State is required' - ] - ], - - 'district' => [ - 'rules' => 'required|trim', - 'errors' => [ - 'required' => 'District is required' - ] - ], - - 'city' => [ - 'rules' => 'required|trim', - 'errors' => [ - 'required' => 'City is required' - ] - ], - - 'pincode' => [ - 'rules' => 'required|numeric|exact_length[6]', - 'errors' => [ - 'required' => 'Pincode is required', - 'numeric' => 'Pincode must contain only numbers', - 'exact_length' => 'Pincode must be exactly 6 digits' - ] - ], + 'label' => 'State', + 'rules' => 'required|regex_match[/^[a-zA-Z\s\-]+$/]', + 'errors' => [ + 'required' => 'State is required.', + 'regex_match' => 'State name can only contain letters, spaces, and hyphens.' + ] + ], + 'district' => [ + 'rules' => 'required|regex_match[/^[a-zA-Z0-9\s\-]+$/]', + 'errors' => [ + 'required' => 'District is required.', + 'regex_match' => 'District can contain letters, numbers, spaces, and hyphens.' + ] + ], + 'city' => [ + 'rules' => 'required|regex_match[/^[a-zA-Z0-9\s\-]+$/]', + 'errors' => [ + 'regex_match' => 'City can contain letters, numbers, spaces, and hyphens.' + ] + ], + 'pincode' => [ + 'rules' => 'required|numeric|exact_length[6]', + 'errors' => [ + 'required' => 'Pincode is required.', + 'numeric' => 'Pincode must be digits only.', + 'exact_length' => 'Pincode must be exactly 6 digits.' + ] + ], // ====================== // Contact Details (Array) @@ -662,7 +662,7 @@ class MasterController extends AdminController 'rules' => 'required|regex_match[/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/]', 'errors' => [ 'required' => 'Email address is required.', - 'regex_match' => 'Please enter a valid email format (e.g., name@company.com).' + 'regex_match' => 'Please enter a valid email format (e.g., name@domain.com).' ] ], @@ -1007,34 +1007,34 @@ class MasterController extends AdminController ], 'state' => [ - 'rules' => 'required|is_natural_no_zero', - 'errors' => [ - 'required' => 'State is required' - ] - ], - - 'district' => [ - 'rules' => 'required|trim', - 'errors' => [ - 'required' => 'District is required' - ] - ], - - 'city' => [ - 'rules' => 'required|trim', - 'errors' => [ - 'required' => 'City is required' - ] - ], - - 'pincode' => [ - 'rules' => 'required|numeric|exact_length[6]', - 'errors' => [ - 'required' => 'Pincode is required', - 'numeric' => 'Pincode must contain only numbers', - 'exact_length' => 'Pincode must be exactly 6 digits' - ] - ], + 'label' => 'State', + 'rules' => 'required|regex_match[/^[a-zA-Z\s\-]+$/]', + 'errors' => [ + 'required' => 'State is required.', + 'regex_match' => 'State name can only contain letters, spaces, and hyphens.' + ] + ], + 'district' => [ + 'rules' => 'required|regex_match[/^[a-zA-Z0-9\s\-]+$/]', + 'errors' => [ + 'required' => 'District is required.', + 'regex_match' => 'District can contain letters, numbers, spaces, and hyphens.' + ] + ], + 'city' => [ + 'rules' => 'required|regex_match[/^[a-zA-Z0-9\s\-]+$/]', + 'errors' => [ + 'regex_match' => 'City can contain letters, numbers, spaces, and hyphens.' + ] + ], + 'pincode' => [ + 'rules' => 'required|numeric|exact_length[6]', + 'errors' => [ + 'required' => 'Pincode is required.', + 'numeric' => 'Pincode must be digits only.', + 'exact_length' => 'Pincode must be exactly 6 digits.' + ] + ], // ====================== // Contact Details (Array) @@ -1058,7 +1058,7 @@ class MasterController extends AdminController 'rules' => 'required|regex_match[/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/]', 'errors' => [ 'required' => 'Email address is required.', - 'regex_match' => 'Please enter a valid email format (e.g., name@company.com).' + 'regex_match' => 'Please enter a valid email format (e.g., name@domain.com).' ] ], @@ -1320,35 +1320,34 @@ class MasterController extends AdminController ], 'state' => [ - 'rules' => 'required|is_natural_no_zero', - 'errors' => [ - 'required' => 'State is required' - ] - ], - - 'district' => [ - 'rules' => 'required|trim', - 'errors' => [ - 'required' => 'District is required' - ] - ], - - 'city' => [ - 'rules' => 'required|trim', - 'errors' => [ - 'required' => 'City is required' - ] - ], - - 'pincode' => [ - 'rules' => 'required|numeric|exact_length[6]', - 'errors' => [ - 'required' => 'Pincode is required', - 'numeric' => 'Pincode must contain only numbers', - 'exact_length' => 'Pincode must be exactly 6 digits' - ] - ], - + 'label' => 'State', + 'rules' => 'required|regex_match[/^[a-zA-Z\s\-]+$/]', + 'errors' => [ + 'required' => 'State is required.', + 'regex_match' => 'State name can only contain letters, spaces, and hyphens.' + ] + ], + 'district' => [ + 'rules' => 'required|regex_match[/^[a-zA-Z0-9\s\-]+$/]', + 'errors' => [ + 'required' => 'District is required.', + 'regex_match' => 'District can contain letters, numbers, spaces, and hyphens.' + ] + ], + 'city' => [ + 'rules' => 'required|regex_match[/^[a-zA-Z0-9\s\-]+$/]', + 'errors' => [ + 'regex_match' => 'City can contain letters, numbers, spaces, and hyphens.' + ] + ], + 'pincode' => [ + 'rules' => 'required|numeric|exact_length[6]', + 'errors' => [ + 'required' => 'Pincode is required.', + 'numeric' => 'Pincode must be digits only.', + 'exact_length' => 'Pincode must be exactly 6 digits.' + ] + ], // ====================== // Contact Details (Array) // ====================== @@ -1371,7 +1370,7 @@ class MasterController extends AdminController 'rules' => 'required|regex_match[/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/]', 'errors' => [ 'required' => 'Email address is required.', - 'regex_match' => 'Please enter a valid email format (e.g., name@company.com).' + 'regex_match' => 'Please enter a valid email format (e.g., name@domain.com).' ] ], @@ -3522,7 +3521,7 @@ class MasterController extends AdminController 'rules' => 'required|regex_match[/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/]', 'errors' => [ 'required' => 'Email address is required.', - 'regex_match' => 'Please enter a valid email format (e.g., name@company.com).' + 'regex_match' => 'Please enter a valid email format (e.g., name@domain.com).' ] ], 'mobile' => [ @@ -3540,28 +3539,28 @@ class MasterController extends AdminController 'min_length' => 'Address must be at least 5 characters' ] ], - 'city' => [ - 'rules' => 'required|alpha_space', - 'errors' => [ - 'required' => 'City is required', - 'alpha_space' => 'City must contain only letters and spaces' - ] - ], 'state' => [ - 'rules' => 'required|alpha_space', - 'errors' => [ - 'required' => 'State is required', - 'alpha_space' => 'State must contain only letters and spaces' - ] - ], - 'pincode' => [ - 'rules' => 'required|numeric|exact_length[6]', - 'errors' => [ - 'required' => 'Pincode is required', - 'numeric' => 'Pincode must contain only digits', - 'exact_length' => 'Pincode must be exactly 6 digits' - ] - ], + 'label' => 'State', + 'rules' => 'required|regex_match[/^[a-zA-Z\s\-]+$/]', + 'errors' => [ + 'required' => 'State is required.', + 'regex_match' => 'State name can only contain letters, spaces, and hyphens.' + ] + ], + 'city' => [ + 'rules' => 'required|regex_match[/^[a-zA-Z0-9\s\-]+$/]', + 'errors' => [ + 'regex_match' => 'City can contain letters, numbers, spaces, and hyphens.' + ] + ], + 'pincode' => [ + 'rules' => 'required|numeric|exact_length[6]', + 'errors' => [ + 'required' => 'Pincode is required.', + 'numeric' => 'Pincode must be digits only.', + 'exact_length' => 'Pincode must be exactly 6 digits.' + ] + ], 'aadhar' => [ 'rules' => 'required|numeric|exact_length[12]', 'errors' => [ diff --git a/app/Controllers/ThzController.php b/app/Controllers/ThzController.php index a4bde6dd..0a6dd3f8 100644 --- a/app/Controllers/ThzController.php +++ b/app/Controllers/ThzController.php @@ -92,7 +92,7 @@ class ThzController extends BaseController 'rules' => 'required|regex_match[/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/]', 'errors' => [ 'required' => 'Email address is required.', - 'regex_match' => 'Please enter a valid email format (e.g., name@company.com).' + 'regex_match' => 'Please enter a valid email format (e.g., name@domain.com).' ] ], diff --git a/app/Controllers/TicketController.php b/app/Controllers/TicketController.php index 2a265f4c..562fe5e3 100644 --- a/app/Controllers/TicketController.php +++ b/app/Controllers/TicketController.php @@ -1140,7 +1140,7 @@ class TicketController extends BaseController 'rules' => 'required|min_length[2]|max_length[20]|regex_match[/^[a-zA-Z0-9_-]+$/]', 'errors' => [ 'required' => 'Employee Code is required.', - 'regex_match' => 'Employee Code cannot contain spaces or special characters (only letters, numbers, - and _ allowed).' + 'regex_match' => 'Employee Code cannot contain spaces or special characters (only letters, numbers, hyphens(-) and underscores(_). allowed).' ] ], 'emp_name' => [ @@ -1170,7 +1170,7 @@ class TicketController extends BaseController 'rules' => 'permit_empty|min_length[3]|max_length[50]|regex_match[/^[a-zA-Z0-9\s\-\/_]+$/]', 'errors' => [ 'min_length' => 'Policy Number appears too short (min 5 characters).', - 'regex_match' => 'Policy Number can only contain letters, numbers, spaces, hyphens(-), underscores(_), and slashes(/).' + 'regex_match' => 'Policy Number can only contain letters, numbers, spaces, hyphens(-) underscores(_), and slashes(/).' ] ], 'tpa_no' => ['label' => 'TPA ID','rules' => 'permit_empty','errors' => []], @@ -1221,15 +1221,29 @@ class TicketController extends BaseController 'hospital_address' => ['label' => 'Hospital Address','rules' => 'required', 'errors' => ['required' => 'Hospital Address is required'] ], - 'hospital_city' => ['label' => 'Hospital City','rules' => 'required', - 'errors' => ['required' => 'City is required'] - ], - 'hospital_state' => ['label' => 'Hospital State','rules' => 'required', - 'errors' => ['required' => 'State is required'] - ], - 'hospital_pin_code' => ['label' => 'Hospital Pincode','rules' => 'required|numeric|exact_length[6]', - 'errors' => ['exact_length' => 'Pincode must be 6 digits'] - ], + 'hospital_state' => [ + 'label' => 'hospital_State', + 'rules' => 'required|regex_match[/^[a-zA-Z\s\-]+$/]', + 'errors' => [ + 'required' => 'Hospital State is required.', + 'regex_match' => 'Hospital State name can only contain letters, spaces, and hyphens.' + ] + ], + 'hospital_city' => [ + 'rules' => 'required|regex_match[/^[a-zA-Z0-9\s\-]+$/]', + 'errors' => [ + 'required' => 'Hospital City is required', + 'regex_match' => 'Hospital City can contain letters, numbers, spaces, and hyphens.' + ] + ], + 'hospital_pin_code' => [ + 'rules' => 'required|numeric|exact_length[6]', + 'errors' => [ + 'required' => 'Hospital Pincode is required.', + 'numeric' => 'Hospital Pincode must be digits only.', + 'exact_length' => 'Hospital Pincode must be exactly 6 digits.' + ] + ], 'hospital_phone_no' => ['label' => 'Hospital Phone','rules' => 'required|numeric|min_length[10]', 'errors' => ['min_length' => 'Phone number too short'] ], @@ -1321,7 +1335,7 @@ class TicketController extends BaseController 'rules' => 'required|min_length[2]|max_length[20]|regex_match[/^[a-zA-Z0-9_-]+$/]', 'errors' => [ 'required' => 'Employee Code is required.', - 'regex_match' => 'Employee Code cannot contain spaces or special characters (only letters, numbers, - and _ allowed).', + 'regex_match' => 'Employee Code cannot contain spaces or special characters (only letters, numbers, hyphens(-) and underscores(_). allowed).', ] ], 'emp_name' => [ @@ -1461,7 +1475,7 @@ class TicketController extends BaseController 'rules' => 'required|min_length[2]|max_length[20]|regex_match[/^[a-zA-Z0-9_-]+$/]', 'errors' => [ 'required' => 'Employee Code is required.', - 'regex_match' => 'Employee Code cannot contain spaces or special characters (only letters, numbers, - and _ allowed).', + 'regex_match' => 'Employee Code cannot contain spaces or special characters (only letters, numbers, hyphens(-) and underscores(_). allowed).', ] ], 'emp_name' => [ @@ -1490,11 +1504,13 @@ class TicketController extends BaseController // Allows: A-Z, a-z, 0-9, spaces (\s), hyphens (\-), underscores (_), and slashes (\/) 'rules' => 'permit_empty|min_length[3]|max_length[50]|regex_match[/^[a-zA-Z0-9\s\-\/_]+$/]', 'errors' => [ - 'min_length' => 'Policy Number appears too short (min 5 characters).', - 'regex_match' => 'Policy Number can only contain letters, numbers, spaces, hyphens(-), underscores(_), and slashes(/).' + 'min_length' => 'Policy Number appears too short (min 3 characters).', + 'regex_match' => 'Policy Number can only contain letters, numbers, spaces, hyphens(-) underscores(_), and slashes(/).' ] ], - 'tpa_no' => ['label' => 'TPA ID','rules' => 'permit_empty','errors' => []], + 'tpa_no' => ['label' => 'TPA ID','rules' => 'permit_empty|regex_match[/^[a-zA-Z0-9]+$/]','errors' => [ + 'regex_match' => 'TPA ID can only contain letters and numbers.' + ]], 'emp_mobile' => ['label' => 'Employee Mobile No','rules' => 'required|numeric|exact_length[10]', 'errors' => [ 'required' => 'Mobile number is required', @@ -1551,6 +1567,35 @@ class TicketController extends BaseController 'hospital_pin_code' => ['label' => 'Hospital Pincode','rules' => 'required|numeric|exact_length[6]', 'errors' => ['exact_length' => 'Pincode must be 6 digits'] ], + 'state' => [ + 'label' => 'State', + 'rules' => 'required|regex_match[/^[a-zA-Z\s\-]+$/]', + 'errors' => [ + 'required' => 'State is required.', + 'regex_match' => 'State name can only contain letters, spaces, and hyphens.' + ] + ], + 'district' => [ + 'rules' => 'required|regex_match[/^[a-zA-Z0-9\s\-]+$/]', + 'errors' => [ + 'required' => 'District is required.', + 'regex_match' => 'District can contain letters, numbers, spaces, and hyphens.' + ] + ], + 'city' => [ + 'rules' => 'required|regex_match[/^[a-zA-Z0-9\s\-]+$/]', + 'errors' => [ + 'regex_match' => 'City can contain letters, numbers, spaces, and hyphens.' + ] + ], + 'pincode' => [ + 'rules' => 'required|numeric|exact_length[6]', + 'errors' => [ + 'required' => 'Pincode is required.', + 'numeric' => 'Pincode must be digits only.', + 'exact_length' => 'Pincode must be exactly 6 digits.' + ] + ], 'hospital_phone_no' => ['label' => 'Hospital Phone','rules' => 'required|numeric|min_length[10]', 'errors' => ['min_length' => 'Phone number too short'] ], @@ -1642,7 +1687,7 @@ class TicketController extends BaseController 'rules' => 'required|min_length[2]|max_length[20]|regex_match[/^[a-zA-Z0-9_-]+$/]', 'errors' => [ 'required' => 'Employee Code is required.', - 'regex_match' => 'Employee Code cannot contain spaces or special characters (only letters, numbers, - and _ allowed).', + 'regex_match' => 'Employee Code cannot contain spaces or special characters (only letters, numbers, hyphens(-) and underscores(_). allowed).', ] ], 'emp_name' => [ @@ -1930,7 +1975,7 @@ class TicketController extends BaseController 'rules' => 'required|regex_match[/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/]', 'errors' => [ 'required' => 'Email address is required.', - 'regex_match' => 'Please enter a valid email format (e.g., name@company.com).' + 'regex_match' => 'Please enter a valid email format (e.g., name@domain.com).' ] ], 'mail_subject' => [ diff --git a/app/Controllers/UserController.php b/app/Controllers/UserController.php index 44b44e51..8e3c702b 100755 --- a/app/Controllers/UserController.php +++ b/app/Controllers/UserController.php @@ -142,7 +142,7 @@ class UserController extends AdminController 'rules' => 'required|regex_match[/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/]', 'errors' => [ 'required' => 'Email address is required.', - 'regex_match' => 'Please enter a valid email format (e.g., name@company.com).' + 'regex_match' => 'Please enter a valid email format (e.g., name@domain.com).' ] ], @@ -326,7 +326,7 @@ class UserController extends AdminController 'rules' => 'required|regex_match[/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/]', 'errors' => [ 'required' => 'Email address is required.', - 'regex_match' => 'Please enter a valid email format (e.g., name@company.com).' + 'regex_match' => 'Please enter a valid email format (e.g., name@domain.com).' ] ], @@ -832,7 +832,7 @@ class UserController extends AdminController 'rules' => 'required|regex_match[/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/]', 'errors' => [ 'required' => 'Email address is required.', - 'regex_match' => 'Please enter a valid email format (e.g., name@company.com).' + 'regex_match' => 'Please enter a valid email format (e.g., name@domain.com).' ] ], // ====================== diff --git a/app/Views/cd_master_add_modal.php b/app/Views/cd_master_add_modal.php index 4cc06188..7a8cf69f 100644 --- a/app/Views/cd_master_add_modal.php +++ b/app/Views/cd_master_add_modal.php @@ -67,12 +67,12 @@
- +
- +