diff --git a/app/Controllers/ClientController.php b/app/Controllers/ClientController.php index b0e59d7a..ad3b28d1 100755 --- a/app/Controllers/ClientController.php +++ b/app/Controllers/ClientController.php @@ -1145,8 +1145,16 @@ class ClientController extends AdminController $this->myLogger->logme('error', 'Create Client KYC function called'); $rules = [ - 'file_name' => [ - 'rules' => 'uploaded[file_name]|max_size[file_name,5120]|ext_in[file_name,pdf,jpg,jpeg,png]', + 'other_docs_name.*' => [ + 'label' => 'Documents Name', + 'rules' => 'permit_empty|regex_match[/^[a-zA-Z0-9_\- ]+$/]', + 'errors' => [ + 'regex_match' => 'Document Name can only contain letters, numbers, hyphens, and underscores' + ] + ], + + 'file_name.*' => [ + 'rules' => 'uploaded[file_name.*]|max_size[file_name.*,5120]|ext_in[file_name.*,pdf,jpg,jpeg,png]', 'errors' => [ 'uploaded' => 'KYC document file is required', 'max_size' => 'File size should not exceed 5MB', diff --git a/app/Controllers/LeadsController.php b/app/Controllers/LeadsController.php index dc577af0..092003a4 100644 --- a/app/Controllers/LeadsController.php +++ b/app/Controllers/LeadsController.php @@ -392,12 +392,15 @@ class LeadsController extends BaseController 'errors' => ['required' => 'Entity Type is required'] ], 'client_name' => [ - 'rules' => 'required', - 'errors' => ['required' => 'Client Name is required'] + 'rules' => 'required|regex_match[/^[a-zA-Z0-9_ -]+$/]', + 'errors' => [ + 'required' => 'Client Name is required', + 'regex_match' => 'Client Name only letters, numbers and characters _ - and space are allowed' + ] ], 'client_short_name' => [ - 'rules' => 'required', - 'errors' => ['required' => 'Client Short Name is required'] + 'rules' => 'required|regex_match[/^[a-zA-Z0-9_-]+$/]', + 'errors' => ['required' => 'Client Short Name is required','regex_match' => 'Client Short Name only letters, numbers and characters _ and - are allowed'] ], 'gst' => [ 'rules' => 'required', @@ -412,18 +415,25 @@ class LeadsController extends BaseController 'errors' => ['required' => 'Branch Code is required'] ], 'contact_person_name' => [ - 'rules' => 'required', - 'errors' => ['required' => 'Contact Person Name is required'] + 'rules' => 'required|regex_match[/^[a-zA-Z0-9_ -]+$/]', + 'errors' => [ + 'required' => 'Contact Person Name is required', + 'regex_match' => 'Contact person name only letters, numbers and characters _ - and space are allowed' + ] ], 'contact_person_mobile' => [ 'rules' => 'required', - 'errors' => ['required' => 'Contact Person Mobile is required'] + 'rules' => 'required|regex_match[/^[0-9]+$/]', + 'errors' => ['required' => 'Contact Person Mobile is required' , + 'regex_match' => 'Contact Person Mobile Only numbers' + ] ], 'contact_person_email' => [ - 'rules' => 'required|valid_email', + 'rules' => 'required|valid_email|regex_match[/^[a-zA-Z0-9_-]+$/]', 'errors' => [ 'required' => 'Contact Person Email is required', - 'valid_email' => 'Please enter a valid email address' + 'valid_email' => 'Please enter a valid email address', + 'regex_match' => 'Contact Person Email Only letters, numbers and characters _ - @ . are allowed' ] ], 'salse_person_id' => [ diff --git a/app/Controllers/PolicyTransactionController.php b/app/Controllers/PolicyTransactionController.php index 62a75808..efc3efcd 100644 --- a/app/Controllers/PolicyTransactionController.php +++ b/app/Controllers/PolicyTransactionController.php @@ -1012,11 +1012,12 @@ 'calc_policy_issue_date.*' => ['label' => 'Policy Issue Date', 'rules' => 'required','errors' => [ 'required' => 'Policy Issue Date is required' ]], 'co_share_per.*' => ['label' => 'Co-Share %', 'rules' => 'permit_empty|decimal','errors' => ['decimal' => 'Co-Share % must be a valid decimal.']], 'non_comm_per_amt.*' => ['label' => 'Non-Comm Premium', 'rules' => 'permit_empty|decimal','errors' => ['decimal' => 'Amount must be numeric.']], - 'base_premium.*' => ['label' => 'Base Premium', 'rules' => 'required|numeric|differs[0]','errors' => [ - 'required' => 'Base Premium is required.', - 'numeric' => 'Base Premium must be a valid number.', - 'differs' => 'Base Premium cannot be zero; please enter a positive or negative value.' - ]], + 'base_premium.*' => ['label' => 'Base Premium', 'rules' => 'required|regex_match[/^-?\d+(\.\d+)?$/]|differs[0]', + 'errors' => [ + 'required' => 'Base Premium is required.', + 'regex_match' => 'Base Premium must be a valid positive or negative number.', + 'differs' => 'Base Premium cannot be zero.' + ]], 'tp_premium.*' => ['label' => 'TP Premium', 'rules' => 'permit_empty|decimal','errors' => ['decimal' => 'TP Premium must be numeric.']], 'ter_premium.*' => ['label' => 'TEP Premium', 'rules' => 'permit_empty|decimal','errors' => ['decimal' => 'TEP Premium must be numeric.']], 'co_premium.*' => ['label' => 'Co-Premium', 'rules' => 'permit_empty|decimal','errors'=> ['decimal' => 'Co-Premium must be numeric.']], @@ -2482,11 +2483,11 @@ ], 'base_premium.*' => [ 'label' => 'Base Premium', - 'rules' => 'required|numeric|differs[0]', - 'errors' => [ - 'required' => 'Base Premium is required.', - 'numeric' => 'Base Premium must be a valid number.', - 'differs' => 'Base Premium cannot be zero; please enter a positive or negative value.' + 'rules' => 'required|regex_match[/^-?\d+(\.\d+)?$/]|differs[0]', + 'errors' => [ + 'required' => 'Base Premium is required.', + 'regex_match' => 'Base Premium must be a valid positive or negative number.', + 'differs' => 'Base Premium cannot be zero.' ] ], 'total.*' => [