diff --git a/app/Controllers/ClientController.php b/app/Controllers/ClientController.php index ee3a8098..31de9320 100755 --- a/app/Controllers/ClientController.php +++ b/app/Controllers/ClientController.php @@ -1876,10 +1876,10 @@ class ClientController extends AdminController ] ], 'designation.*' => [ - 'rules' => 'required|alpha_space', + 'rules' => 'required|regex_match[/^[A-Za-z0-9\-_\/ ]+$/]', 'errors' => [ 'required' => 'Designation is required', - 'alpha_space' => 'Designation may contain only letters and spaces' + 'regex_match' => 'Designation may only contain letters, numbers, /, -, _ and spaces' ] ], 'email.*' => [ @@ -2283,10 +2283,10 @@ class ClientController extends AdminController ] ], 'designation.*' => [ - 'rules' => 'required|alpha_space', + 'rules' => 'required|regex_match[/^[A-Za-z0-9\-_\/ ]+$/]', 'errors' => [ 'required' => 'Designation is required', - 'alpha_space' => 'Designation may contain only letters and spaces' + 'regex_match' => 'Designation may only contain letters, numbers, /, -, _ and spaces' ] ], 'email.*' => [ @@ -2467,10 +2467,10 @@ class ClientController extends AdminController ] ], 'designation.*' => [ - 'rules' => 'required|alpha_space', + 'rules' => 'required|regex_match[/^[A-Za-z0-9\-_\/ ]+$/]', 'errors' => [ 'required' => 'Designation is required', - 'alpha_space' => 'Designation may contain only letters and spaces' + 'regex_match' => 'Designation may only contain letters, numbers, /, -, _ and spaces' ] ], 'email.*' => [ diff --git a/app/Controllers/UserController.php b/app/Controllers/UserController.php index 145ab807..d0a03be1 100755 --- a/app/Controllers/UserController.php +++ b/app/Controllers/UserController.php @@ -115,12 +115,13 @@ class UserController extends AdminController // ====================== 'emp_code' => [ 'label' => 'Employee Code', - 'rules' => 'required|min_length[3]|max_length[15]|regex_match[/^[a-zA-Z0-9_\-\/]+$/]', + 'rules' => 'required|min_length[3]|max_length[15]|regex_match[/^[a-zA-Z0-9_\-\/]+$/]|is_unique[user_profiles.emp_code]', 'errors' => [ 'required' => 'Employee Code is required', 'min_length' => 'Employee Code must be at least 3 characters', 'max_length' => 'Employee Code cannot exceed 15 characters', - 'regex_match' => 'Employee Code can only contain letters, numbers, underscores, hyphens, and forward slashes (/).' + 'regex_match' => 'Employee Code can only contain letters, numbers, underscores, hyphens, and forward slashes (/).', + 'is_unique' => 'This Employee Code already exists.' ] ], @@ -141,10 +142,11 @@ class UserController extends AdminController // Email // ====================== 'email' => [ - '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,}$/]|is_unique[user_profiles.email]', 'errors' => [ 'required' => 'Email address is required.', - 'regex_match' => 'Please enter a valid email format (e.g., name@domain.com).' + 'regex_match' => 'Please enter a valid email format (e.g., name@domain.com).', + 'is_unique' => 'This Email address already exists.' ] ], @@ -152,10 +154,11 @@ class UserController extends AdminController // Mobile // ====================== 'mobile' => [ - 'rules' => 'required|regex_match[/^[6-9][0-9]{9}$/]', + 'rules' => 'required|regex_match[/^[6-9][0-9]{9}$/]|is_unique[user_profiles.mobile]', 'errors' => [ 'required' => 'Mobile number is required', 'regex_match' => 'Enter a valid 10-digit mobile number starting with 6, 7, 8, or 9', + 'is_unique' => 'This Mobile number already exists.' ] ], @@ -268,7 +271,10 @@ class UserController extends AdminController if (!$this->request->getPost()) { return redirect()->to(base_url('/user/list')); } else { - // echo ":/ in 163"; + + $data = $this->request->getPost(); + $userData = sanitizeInputArrayAdvanced($data); + $id = $userData['PrimaryKey']; $rules = [ // ====================== @@ -297,13 +303,13 @@ class UserController extends AdminController // Employee Code // ====================== 'emp_code' => [ - 'label' => 'Employee Code', - 'rules' => 'required|min_length[3]|max_length[15]|regex_match[/^[a-zA-Z0-9_\-\/]+$/]', + 'rules' => "required|min_length[3]|max_length[15]|regex_match[/^[a-zA-Z0-9_\-\/]+$/]|is_unique[user_profiles.emp_code,id,{$id}]", 'errors' => [ 'required' => 'Employee Code is required', 'min_length' => 'Employee Code must be at least 3 characters', 'max_length' => 'Employee Code cannot exceed 15 characters', - 'regex_match' => 'Employee Code can only contain letters, numbers, underscores, hyphens, and forward slashes (/).' + 'regex_match' => 'Employee Code can only contain letters, numbers, underscores, hyphens, and forward slashes (/).', + 'is_unique' => 'This Employee Code already exists.' ] ], @@ -324,10 +330,11 @@ class UserController extends AdminController // Email // ====================== 'email' => [ - '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,}$/]|is_unique[user_profiles.email,id,{$id}]", 'errors' => [ 'required' => 'Email address is required.', - 'regex_match' => 'Please enter a valid email format (e.g., name@domain.com).' + 'regex_match' => 'Please enter a valid email format (e.g., name@domain.com).', + 'is_unique' => 'This Email address already exists.' ] ], @@ -335,10 +342,11 @@ class UserController extends AdminController // Mobile // ====================== 'mobile' => [ - 'rules' => 'required|regex_match[/^[6-9][0-9]{9}$/]', + 'rules' => "required|regex_match[/^[6-9][0-9]{9}$/]|is_unique[user_profiles.mobile,id,{$id}]", 'errors' => [ 'required' => 'Mobile number is required', 'regex_match' => 'Enter a valid 10-digit mobile number starting with 6, 7, 8, or 9', + 'is_unique' => 'This Mobile number already exists.' ] ], diff --git a/app/Views/UserList.php b/app/Views/UserList.php index 9659eaf4..24cd98c3 100755 --- a/app/Views/UserList.php +++ b/app/Views/UserList.php @@ -388,7 +388,7 @@ table.dataTable tbody td {
@@ -493,7 +493,7 @@ table.dataTable tbody td { @@ -502,7 +502,7 @@ table.dataTable tbody td { @@ -511,11 +511,11 @@ table.dataTable tbody td {