FIX_CodeCommit

This commit is contained in:
sanjeev.p 2026-02-12 14:32:49 +05:30
parent 9533bf46b4
commit 64ff87ebfe
8 changed files with 392 additions and 235 deletions

View File

@ -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' => [ 'cd_ac_no' => [
'rules' => 'required|regex_match[/^[a-zA-Z0-9\/_\\-]+$/]', 'rules' => 'required|numeric',
'errors' => [ 'errors' => [
'required' => 'Account number is required', 'required' => 'CD Account number is required.',
'regex_match' => 'Account number can only contain letters, numbers, slashes (/), underscores (_), and hyphens (-)', '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]', 'rules' => 'required|regex_match[/^[a-zA-Z0-9\s_-]+$/]|min_length[2]||max_length[45]',
'errors' => [ 'errors' => [
'required' => 'Client Name is required', '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.', 'min_length' => 'Client Name must be at least 2 characters.',
'max_length' => 'Client Name must not exceed 45 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]', 'rules' => 'required|regex_match[/^[a-zA-Z0-9_-]+$/]|min_length[2]||max_length[15]',
'errors' => [ 'errors' => [
'required' => 'Client Short Name is required', '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.', 'min_length' => 'Client Short Name must be at least 2 characters.',
'max_length' => 'Client Short Name must not exceed 15 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]', 'rules' => 'required|regex_match[/^[a-zA-Z0-9\s_-]+$/]|min_length[3]',
'errors' => [ 'errors' => [
'required' => 'Branch Name is required', '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' => [ 'branch_code' => [
'rules' => 'required|regex_match[/^[a-zA-Z0-9_-]+$/]', 'rules' => 'required|regex_match[/^[a-zA-Z0-9_-]+$/]',
'errors' => [ 'errors' => [
'required' => 'Branch Code is required', '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' => [ 'address1' => [
@ -1747,23 +1755,32 @@ class ClientController extends AdminController
'rules' => 'permit_empty|string', 'rules' => 'permit_empty|string',
], ],
'state' => [ 'state' => [
'rules' => 'required|numeric', 'label' => 'State',
'errors' => ['required' => 'State is required'] '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' => [ 'district' => [
'rules' => 'required', 'rules' => 'required|regex_match[/^[a-zA-Z0-9\s\-]+$/]',
'errors' => ['required' => 'District is required.'] 'errors' => [
'required' => 'District is required.',
'regex_match' => 'District can contain letters, numbers, spaces, and hyphens.'
]
], ],
'city' => [ 'city' => [
'rules' => 'required', 'rules' => 'required|regex_match[/^[a-zA-Z0-9\s\-]+$/]',
'errors' => ['required' => 'City is required.'] 'errors' => [
'regex_match' => 'City can contain letters, numbers, spaces, and hyphens.'
]
], ],
'pincode' => [ 'pincode' => [
'rules' => 'required|numeric|exact_length[6]', 'rules' => 'required|numeric|exact_length[6]',
'errors' => [ 'errors' => [
'required' => 'Pincode is required.', 'required' => 'Pincode is required.',
'numeric' => 'Pincode must be numeric', 'numeric' => 'Pincode must be digits only.',
'exact_length' => 'Pincode must be exactly 6 digits' 'exact_length' => 'Pincode must be exactly 6 digits.'
] ]
], ],
'gst' => [ 'gst' => [
@ -2120,15 +2137,20 @@ class ClientController extends AdminController
$rules = [ $rules = [
'branch_name' => [ 'branch_name' => [
'rules' => 'required', 'rules' => 'required|min_length[3]|regex_match[/^[a-zA-Z0-9\s\-_]+$/]',
'errors' => [ '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' => [ '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' => [ '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' => [ 'address1' => [
@ -2138,29 +2160,34 @@ class ClientController extends AdminController
] ]
], ],
'state' => [ 'state' => [
'rules' => 'required', 'label' => 'State',
'errors' => [ 'rules' => 'required|regex_match[/^[a-zA-Z\s\-]+$/]',
'required' => 'State is required', 'errors' => [
] 'required' => 'State is required.',
], 'regex_match' => 'State name can only contain letters, spaces, and hyphens.'
'district' => [ ]
'rules' => 'required', ],
'errors' => [ 'district' => [
'required' => 'District is required.', 'rules' => 'required|regex_match[/^[a-zA-Z0-9\s\-]+$/]',
] 'errors' => [
], 'required' => 'District is required.',
'city' => [ 'regex_match' => 'District can contain letters, numbers, spaces, and hyphens.'
'rules' => 'required', ]
'errors' => [ ],
'required' => 'City is required.', 'city' => [
] 'rules' => 'required|regex_match[/^[a-zA-Z0-9\s\-]+$/]',
], 'errors' => [
'pincode' => [ 'regex_match' => 'City can contain letters, numbers, spaces, and hyphens.'
'rules' => 'required', ]
'errors' => [ ],
'required' => 'Pincode is required.', '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' => [ 'gst' => [
'rules' => 'required|regex_match[/^\d{2}[A-Z]{5}\d{4}[A-Z]{1}[A-Z\d]{1}Z[A-Z\d]{1}$/]', 'rules' => 'required|regex_match[/^\d{2}[A-Z]{5}\d{4}[A-Z]{1}[A-Z\d]{1}Z[A-Z\d]{1}$/]',
'errors' => [ 'errors' => [
@ -2169,10 +2196,11 @@ class ClientController extends AdminController
] ]
], ],
'name.*' => [ 'name.*' => [
'rules' => 'required|alpha_space', 'rules' => 'required|min_length[3]|regex_match[/^[a-zA-Z0-9\s\-_]+$/]',
'errors' => [ 'errors' => [
'required' => 'Contact name is required', '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.*' => [ 'designation.*' => [
@ -2294,6 +2322,107 @@ class ClientController extends AdminController
$client_id = $this->request->getPost('client_id'); $client_id = $this->request->getPost('client_id');
$pre_branch_id = $this->request->getPost('pre_branch_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 = $this->request->getPost();
$data = sanitizeInputArrayAdvanced($data); $data = sanitizeInputArrayAdvanced($data);
$data['pre_branch_id'] = $pre_branch_id; $data['pre_branch_id'] = $pre_branch_id;
@ -2486,7 +2615,6 @@ class ClientController extends AdminController
$sanitized_post_data = sanitizeInputArrayAdvanced($request_post_data); $sanitized_post_data = sanitizeInputArrayAdvanced($request_post_data);
$rules = [ $rules = [
// --- BASIC SELECTS (Required) ---
'client_branch_id' => [ 'client_branch_id' => [
'rules' => 'required', 'rules' => 'required',
'errors' => ['required' => 'Please select a Client Branch.'] 'errors' => ['required' => 'Please select a Client Branch.']
@ -2506,13 +2634,11 @@ class ClientController extends AdminController
'rules' => 'required', 'rules' => 'required',
'errors' => ['required' => 'Please select a TPA.'] 'errors' => ['required' => 'Please select a TPA.']
], ],
// --- TEXT FIELDS (Required & Specific Format) ---
'policy_no' => [ 'policy_no' => [
'rules' => 'required|regex_match[/^[a-zA-Z0-9\s_\-\/\\\]+$/]', 'rules' => ['required', 'regex_match[/^[a-zA-Z0-9\s_\-\/\\\]+$/]'],
'errors' => [ 'errors' => [
'required' => 'This field is required.', 'required' => 'Policy No is required.',
'regex_match' => 'Only letters, numbers, spaces, _, -, /, and \ are allowed.' 'regex_match' => 'Policy No Only letters, numbers, spaces, underscores, hyphens, forward slashes, and backslashes are allowed.'
] ]
], ],
'gst' => [ 'gst' => [
@ -2524,30 +2650,17 @@ class ClientController extends AdminController
'less_than_equal_to' => 'GST percentage cannot exceed 100%.' 'less_than_equal_to' => 'GST percentage cannot exceed 100%.'
] ]
], ],
// --- DATE FIELDS (Required) ---
'policy_start_date' => [ 'policy_start_date' => [
'rules' => 'required', 'rules' => 'required',
'errors' => [ 'errors' => ['required' => 'Start date is required.']
'required' => 'Start date is required.',
]
], ],
'policy_end_date' => [ 'policy_end_date' => [
'rules' => 'required', 'rules' => 'required',
'errors' => [ 'errors' => ['required' => 'End date is required.']
'required' => 'End date is required.',
]
],
// --- PERMIT EMPTY FIELDS (Optional) ---
'base_policy' => [
'rules' => 'permit_empty'
], ],
'wellness_plan_id' => [ 'wellness_plan_id' => [
'rules' => 'permit_empty|alpha_numeric', 'rules' => 'permit_empty|alpha_numeric',
'errors' => [ 'errors' => ['alpha_numeric' => 'Wellness Plan ID can only contain letters and numbers.']
'alpha_numeric' => 'Wellness Plan ID can only contain letters and numbers (no spaces or special characters).'
]
], ],
'wellness_vendor_id' => [ 'wellness_vendor_id' => [
'rules' => 'permit_empty' 'rules' => 'permit_empty'

View File

@ -2770,7 +2770,7 @@ class EmployeeController extends AdminController
'rules' => 'required|regex_match[/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/]', 'rules' => 'required|regex_match[/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/]',
'errors' => [ 'errors' => [
'required' => 'Email address is required.', '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' => [ 'mobile' => [

View File

@ -379,7 +379,7 @@ class LeadsController extends BaseController
private function prepareLeadData() private function prepareLeadData()
{ {
$rules = [ $rules = [
'lead_type' => [ 'lead_type' => [
'rules' => 'integer', 'rules' => 'integer',
'errors' => ['required' => 'Lead Type is required'] '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]', 'rules' => 'required|regex_match[/^[a-zA-Z0-9\s_-]+$/]|min_length[3]',
'errors' => [ 'errors' => [
'required' => 'Branch Name is required.', '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.' '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_-]+$/]', 'rules' => 'required|regex_match[/^[a-zA-Z0-9_-]+$/]',
'errors' => [ 'errors' => [
'required' => 'Branch Code is required.', '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' => [ 'contact_person_name' => [
'rules' => 'required|regex_match[/^[a-zA-Z0-9_ -]+$/]', 'rules' => 'required|regex_match[/^[a-zA-Z0-9_ -]+$/]',
'errors' => [ 'errors' => [
'required' => 'Contact Person Name is required', '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' => [ 'contact_person_mobile' => [

View File

@ -370,34 +370,34 @@ class MasterController extends AdminController
], ],
'state' => [ 'state' => [
'rules' => 'required|is_natural_no_zero', 'label' => 'State',
'errors' => [ 'rules' => 'required|regex_match[/^[a-zA-Z\s\-]+$/]',
'required' => 'State is required' 'errors' => [
] 'required' => 'State is required.',
], 'regex_match' => 'State name can only contain letters, spaces, and hyphens.'
]
'district' => [ ],
'rules' => 'required|trim', 'district' => [
'errors' => [ 'rules' => 'required|regex_match[/^[a-zA-Z0-9\s\-]+$/]',
'required' => 'District is required' 'errors' => [
] 'required' => 'District is required.',
], 'regex_match' => 'District can contain letters, numbers, spaces, and hyphens.'
]
'city' => [ ],
'rules' => 'required|trim', 'city' => [
'errors' => [ 'rules' => 'required|regex_match[/^[a-zA-Z0-9\s\-]+$/]',
'required' => 'City is required' 'errors' => [
] 'regex_match' => 'City can contain letters, numbers, spaces, and hyphens.'
], ]
],
'pincode' => [ 'pincode' => [
'rules' => 'required|numeric|exact_length[6]', 'rules' => 'required|numeric|exact_length[6]',
'errors' => [ 'errors' => [
'required' => 'Pincode is required', 'required' => 'Pincode is required.',
'numeric' => 'Pincode must contain only numbers', 'numeric' => 'Pincode must be digits only.',
'exact_length' => 'Pincode must be exactly 6 digits' 'exact_length' => 'Pincode must be exactly 6 digits.'
] ]
], ],
// ====================== // ======================
// Contact Details (Array) // 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,}$/]', 'rules' => 'required|regex_match[/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/]',
'errors' => [ 'errors' => [
'required' => 'Email address is required.', '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' => [ 'state' => [
'rules' => 'required|is_natural_no_zero', 'label' => 'State',
'errors' => [ 'rules' => 'required|regex_match[/^[a-zA-Z\s\-]+$/]',
'required' => 'State is required' 'errors' => [
] 'required' => 'State is required.',
], 'regex_match' => 'State name can only contain letters, spaces, and hyphens.'
]
'district' => [ ],
'rules' => 'required|trim', 'district' => [
'errors' => [ 'rules' => 'required|regex_match[/^[a-zA-Z0-9\s\-]+$/]',
'required' => 'District is required' 'errors' => [
] 'required' => 'District is required.',
], 'regex_match' => 'District can contain letters, numbers, spaces, and hyphens.'
]
'city' => [ ],
'rules' => 'required|trim', 'city' => [
'errors' => [ 'rules' => 'required|regex_match[/^[a-zA-Z0-9\s\-]+$/]',
'required' => 'City is required' 'errors' => [
] 'regex_match' => 'City can contain letters, numbers, spaces, and hyphens.'
], ]
],
'pincode' => [ 'pincode' => [
'rules' => 'required|numeric|exact_length[6]', 'rules' => 'required|numeric|exact_length[6]',
'errors' => [ 'errors' => [
'required' => 'Pincode is required', 'required' => 'Pincode is required.',
'numeric' => 'Pincode must contain only numbers', 'numeric' => 'Pincode must be digits only.',
'exact_length' => 'Pincode must be exactly 6 digits' 'exact_length' => 'Pincode must be exactly 6 digits.'
] ]
], ],
// ====================== // ======================
// Contact Details (Array) // 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,}$/]', 'rules' => 'required|regex_match[/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/]',
'errors' => [ 'errors' => [
'required' => 'Email address is required.', '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' => [ 'state' => [
'rules' => 'required|is_natural_no_zero', 'label' => 'State',
'errors' => [ 'rules' => 'required|regex_match[/^[a-zA-Z\s\-]+$/]',
'required' => 'State is required' 'errors' => [
] 'required' => 'State is required.',
], 'regex_match' => 'State name can only contain letters, spaces, and hyphens.'
]
'district' => [ ],
'rules' => 'required|trim', 'district' => [
'errors' => [ 'rules' => 'required|regex_match[/^[a-zA-Z0-9\s\-]+$/]',
'required' => 'District is required' 'errors' => [
] 'required' => 'District is required.',
], 'regex_match' => 'District can contain letters, numbers, spaces, and hyphens.'
]
'city' => [ ],
'rules' => 'required|trim', 'city' => [
'errors' => [ 'rules' => 'required|regex_match[/^[a-zA-Z0-9\s\-]+$/]',
'required' => 'City is required' 'errors' => [
] 'regex_match' => 'City can contain letters, numbers, spaces, and hyphens.'
], ]
],
'pincode' => [ 'pincode' => [
'rules' => 'required|numeric|exact_length[6]', 'rules' => 'required|numeric|exact_length[6]',
'errors' => [ 'errors' => [
'required' => 'Pincode is required', 'required' => 'Pincode is required.',
'numeric' => 'Pincode must contain only numbers', 'numeric' => 'Pincode must be digits only.',
'exact_length' => 'Pincode must be exactly 6 digits' 'exact_length' => 'Pincode must be exactly 6 digits.'
] ]
], ],
// ====================== // ======================
// Contact Details (Array) // 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,}$/]', 'rules' => 'required|regex_match[/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/]',
'errors' => [ 'errors' => [
'required' => 'Email address is required.', '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' => [ 'state' => [
'rules' => 'required|is_natural_no_zero', 'label' => 'State',
'errors' => [ 'rules' => 'required|regex_match[/^[a-zA-Z\s\-]+$/]',
'required' => 'State is required' 'errors' => [
] 'required' => 'State is required.',
], 'regex_match' => 'State name can only contain letters, spaces, and hyphens.'
]
'district' => [ ],
'rules' => 'required|trim', 'district' => [
'errors' => [ 'rules' => 'required|regex_match[/^[a-zA-Z0-9\s\-]+$/]',
'required' => 'District is required' 'errors' => [
] 'required' => 'District is required.',
], 'regex_match' => 'District can contain letters, numbers, spaces, and hyphens.'
]
'city' => [ ],
'rules' => 'required|trim', 'city' => [
'errors' => [ 'rules' => 'required|regex_match[/^[a-zA-Z0-9\s\-]+$/]',
'required' => 'City is required' 'errors' => [
] 'regex_match' => 'City can contain letters, numbers, spaces, and hyphens.'
], ]
],
'pincode' => [ 'pincode' => [
'rules' => 'required|numeric|exact_length[6]', 'rules' => 'required|numeric|exact_length[6]',
'errors' => [ 'errors' => [
'required' => 'Pincode is required', 'required' => 'Pincode is required.',
'numeric' => 'Pincode must contain only numbers', 'numeric' => 'Pincode must be digits only.',
'exact_length' => 'Pincode must be exactly 6 digits' 'exact_length' => 'Pincode must be exactly 6 digits.'
] ]
], ],
// ====================== // ======================
// Contact Details (Array) // 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,}$/]', 'rules' => 'required|regex_match[/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/]',
'errors' => [ 'errors' => [
'required' => 'Email address is required.', '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,}$/]', 'rules' => 'required|regex_match[/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/]',
'errors' => [ 'errors' => [
'required' => 'Email address is required.', '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' => [ 'mobile' => [
@ -3540,28 +3539,28 @@ class MasterController extends AdminController
'min_length' => 'Address must be at least 5 characters' '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' => [ 'state' => [
'rules' => 'required|alpha_space', 'label' => 'State',
'errors' => [ 'rules' => 'required|regex_match[/^[a-zA-Z\s\-]+$/]',
'required' => 'State is required', 'errors' => [
'alpha_space' => 'State must contain only letters and spaces' 'required' => 'State is required.',
] 'regex_match' => 'State name can only contain letters, spaces, and hyphens.'
], ]
'pincode' => [ ],
'rules' => 'required|numeric|exact_length[6]', 'city' => [
'errors' => [ 'rules' => 'required|regex_match[/^[a-zA-Z0-9\s\-]+$/]',
'required' => 'Pincode is required', 'errors' => [
'numeric' => 'Pincode must contain only digits', 'regex_match' => 'City can contain letters, numbers, spaces, and hyphens.'
'exact_length' => 'Pincode must be exactly 6 digits' ]
] ],
], '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' => [ 'aadhar' => [
'rules' => 'required|numeric|exact_length[12]', 'rules' => 'required|numeric|exact_length[12]',
'errors' => [ 'errors' => [

View File

@ -92,7 +92,7 @@ class ThzController extends BaseController
'rules' => 'required|regex_match[/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/]', 'rules' => 'required|regex_match[/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/]',
'errors' => [ 'errors' => [
'required' => 'Email address is required.', '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).'
] ]
], ],

View File

@ -1140,7 +1140,7 @@ class TicketController extends BaseController
'rules' => 'required|min_length[2]|max_length[20]|regex_match[/^[a-zA-Z0-9_-]+$/]', 'rules' => 'required|min_length[2]|max_length[20]|regex_match[/^[a-zA-Z0-9_-]+$/]',
'errors' => [ 'errors' => [
'required' => 'Employee Code is required.', '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' => [ '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\-\/_]+$/]', 'rules' => 'permit_empty|min_length[3]|max_length[50]|regex_match[/^[a-zA-Z0-9\s\-\/_]+$/]',
'errors' => [ 'errors' => [
'min_length' => 'Policy Number appears too short (min 5 characters).', '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' => []], 'tpa_no' => ['label' => 'TPA ID','rules' => 'permit_empty','errors' => []],
@ -1221,15 +1221,29 @@ class TicketController extends BaseController
'hospital_address' => ['label' => 'Hospital Address','rules' => 'required', 'hospital_address' => ['label' => 'Hospital Address','rules' => 'required',
'errors' => ['required' => 'Hospital Address is required'] 'errors' => ['required' => 'Hospital Address is required']
], ],
'hospital_city' => ['label' => 'Hospital City','rules' => 'required', 'hospital_state' => [
'errors' => ['required' => 'City is required'] 'label' => 'hospital_State',
], 'rules' => 'required|regex_match[/^[a-zA-Z\s\-]+$/]',
'hospital_state' => ['label' => 'Hospital State','rules' => 'required', 'errors' => [
'errors' => ['required' => 'State is required'] 'required' => 'Hospital State is required.',
], 'regex_match' => 'Hospital State name can only contain letters, spaces, and hyphens.'
'hospital_pin_code' => ['label' => 'Hospital Pincode','rules' => 'required|numeric|exact_length[6]', ]
'errors' => ['exact_length' => 'Pincode must be 6 digits'] ],
], '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]', 'hospital_phone_no' => ['label' => 'Hospital Phone','rules' => 'required|numeric|min_length[10]',
'errors' => ['min_length' => 'Phone number too short'] '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_-]+$/]', 'rules' => 'required|min_length[2]|max_length[20]|regex_match[/^[a-zA-Z0-9_-]+$/]',
'errors' => [ 'errors' => [
'required' => 'Employee Code is required.', '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' => [ 'emp_name' => [
@ -1461,7 +1475,7 @@ class TicketController extends BaseController
'rules' => 'required|min_length[2]|max_length[20]|regex_match[/^[a-zA-Z0-9_-]+$/]', 'rules' => 'required|min_length[2]|max_length[20]|regex_match[/^[a-zA-Z0-9_-]+$/]',
'errors' => [ 'errors' => [
'required' => 'Employee Code is required.', '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' => [ 'emp_name' => [
@ -1490,11 +1504,13 @@ class TicketController extends BaseController
// Allows: A-Z, a-z, 0-9, spaces (\s), hyphens (\-), underscores (_), and slashes (\/) // 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\-\/_]+$/]', 'rules' => 'permit_empty|min_length[3]|max_length[50]|regex_match[/^[a-zA-Z0-9\s\-\/_]+$/]',
'errors' => [ 'errors' => [
'min_length' => 'Policy Number appears too short (min 5 characters).', 'min_length' => 'Policy Number appears too short (min 3 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' => []], '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]', 'emp_mobile' => ['label' => 'Employee Mobile No','rules' => 'required|numeric|exact_length[10]',
'errors' => [ 'errors' => [
'required' => 'Mobile number is required', '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]', 'hospital_pin_code' => ['label' => 'Hospital Pincode','rules' => 'required|numeric|exact_length[6]',
'errors' => ['exact_length' => 'Pincode must be 6 digits'] '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]', 'hospital_phone_no' => ['label' => 'Hospital Phone','rules' => 'required|numeric|min_length[10]',
'errors' => ['min_length' => 'Phone number too short'] '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_-]+$/]', 'rules' => 'required|min_length[2]|max_length[20]|regex_match[/^[a-zA-Z0-9_-]+$/]',
'errors' => [ 'errors' => [
'required' => 'Employee Code is required.', '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' => [ '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,}$/]', 'rules' => 'required|regex_match[/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/]',
'errors' => [ 'errors' => [
'required' => 'Email address is required.', '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' => [ 'mail_subject' => [

View File

@ -142,7 +142,7 @@ class UserController extends AdminController
'rules' => 'required|regex_match[/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/]', 'rules' => 'required|regex_match[/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/]',
'errors' => [ 'errors' => [
'required' => 'Email address is required.', '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,}$/]', 'rules' => 'required|regex_match[/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/]',
'errors' => [ 'errors' => [
'required' => 'Email address is required.', '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,}$/]', 'rules' => 'required|regex_match[/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/]',
'errors' => [ 'errors' => [
'required' => 'Email address is required.', '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).'
] ]
], ],
// ====================== // ======================

View File

@ -67,12 +67,12 @@
<div class="form-row"> <div class="form-row">
<div class="form-group col-md-6"> <div class="form-group col-md-6">
<label for="mobile">CD Account Number<span class="text-danger">*</span></label> <label for="mobile">CD Account Number<span class="text-danger">*</span></label>
<input type="text" class="form-control" id="cd_ac_no_for_cd_master" name="cd_ac_no" required> <input type="text" class="form-control" id="cd_ac_no_for_cd_master" name="cd_ac_no" required data-parsley-type="digits">
</div> </div>
<div class="form-group col-md-6"> <div class="form-group col-md-6">
<label for="mobile">Opening Amount<span class="text-danger">*</span></label> <label for="mobile">Opening Amount<span class="text-danger">*</span></label>
<input type="text" class="form-control" id="opening_bal" name="opening_bal" onkeypress="return onlyNumbers(event)" required> <input type="text" class="form-control" id="opening_bal" name="opening_bal" onkeypress="return onlyNumbers(event)" required data-parsley-type="digits">
</div> </div>
</div> </div>