'required|email|unique:users,email', 'username' => 'nullable|unique:users,username', 'password' => [ 'required', 'confirmed', 'min:8', 'regex:/^(?=.*[A-Za-z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$/' ], 'birthday' => 'nullable|date', 'role_id' => 'required|exists:roles,id', 'verified' => 'boolean', ]; if ($this->get('country_id')) { $rules['country_id'] = 'exists:countries,id'; } return $rules; } public function messages(): array { return [ 'password.regex' => __('The password must be at least 8 characters long and contain at least one number and one special character (@$!%*?&).'), ]; } }