diff --git a/interface/web/admin/form/users.tform.php b/interface/web/admin/form/users.tform.php
index 244892ae0cf99c99dc610aebdc23d603eae22f74..06be9dbc44e6ef02dc5db429bb51124b89b7a610 100644
--- a/interface/web/admin/form/users.tform.php
+++ b/interface/web/admin/form/users.tform.php
@@ -137,8 +137,16 @@ $form['tabs']['users'] = array (
'username' => array (
'datatype' => 'VARCHAR',
'formtype' => 'TEXT',
- 'regex' => '/^.{1,30}$/',
- 'errmsg' => 'username_err',
+ 'validators' => array ( 0 => array ( 'type' => 'NOTEMPTY',
+ 'errmsg'=> 'username_empty'),
+ 1 => array ( 'type' => 'UNIQUE',
+ 'errmsg'=> 'username_unique'),
+ 2 => array ( 'type' => 'REGEX',
+ 'regex' => '/^[\w\.\-\_]{0,50}$/',
+ 'errmsg'=> 'username_err'),
+ ),
+ 'regex' => '',
+ 'errmsg' => '',
'default' => '',
'value' => '',
'separator' => '',
diff --git a/interface/web/admin/lib/lang/en_users.lng b/interface/web/admin/lib/lang/en_users.lng
index 73ddaad43714cade51bfbfd8a5ab119043356b35..5a7b639358cd24ab54d70c0b0c5aeda1e74675d9 100644
--- a/interface/web/admin/lib/lang/en_users.lng
+++ b/interface/web/admin/lib/lang/en_users.lng
@@ -1,6 +1,8 @@
\ No newline at end of file
diff --git a/interface/web/admin/templates/users_user_edit.htm b/interface/web/admin/templates/users_user_edit.htm
index c8c01d3865af7bed4f79fdabf25d401ecd0f5986..6b5ab4dea3e5f2c1d463c79d0ca3a28cb07979c8 100644
--- a/interface/web/admin/templates/users_user_edit.htm
+++ b/interface/web/admin/templates/users_user_edit.htm
@@ -1,7 +1,7 @@
+
+
\ No newline at end of file
diff --git a/interface/web/admin/users_edit.php b/interface/web/admin/users_edit.php
index 16e6f0a07ac775c9261805af3d4c4534c27b2dda..b8ccbf2d90a1764f25727b78b65e93cc70ebf705 100644
--- a/interface/web/admin/users_edit.php
+++ b/interface/web/admin/users_edit.php
@@ -1,6 +1,6 @@
auth->check_module_permissions('admin');
// Loading classes
$app->uses('tpl,tform,tform_actions');
+$app->load('tform_actions');
-// let tform_actions handle the page
-$app->tform_actions->onLoad();
+class page_action extends tform_actions {
+
+ function onBeforeInsert() {
+ global $app, $conf;
+
+ if(!in_array($this->dataRecord['startmodule'],$this->dataRecord['modules'])) {
+ $app->tform->errorMessage .= $app->tform->wordbook['startmodule_err'];
+ }
+ }
+
+}
+
+$page = new page_action;
+$page->onLoad();
?>
\ No newline at end of file
diff --git a/interface/web/client/form/client.tform.php b/interface/web/client/form/client.tform.php
index 11def8efe959be9099956f095ffb435544e6ea9c..c7696c311146463b6b9ac14d8a897d3e3843386c 100644
--- a/interface/web/client/form/client.tform.php
+++ b/interface/web/client/form/client.tform.php
@@ -92,6 +92,9 @@ $form["tabs"]['address'] = array (
'class' => 'validate_client',
'function' => 'username_unique',
'errmsg'=> 'username_error_unique'),
+ 2 => array ( 'type' => 'REGEX',
+ 'regex' => '/^[\w\.\-\_]{0,50}$/',
+ 'errmsg'=> 'username_error_regex'),
),
'default' => '',
'value' => '',
diff --git a/interface/web/client/lib/lang/en_client.lng b/interface/web/client/lib/lang/en_client.lng
index 1eb70e57da3fb4195afa8441ccde6234c414b32d..5e8134a751251e2bcd88ad7e4327b31105f95567 100644
--- a/interface/web/client/lib/lang/en_client.lng
+++ b/interface/web/client/lib/lang/en_client.lng
@@ -80,4 +80,5 @@ $wb["limit_client_error_notint"] = 'The sub client limit must be a number.';
$wb["default_dbserver_txt"] = 'Default Database Server';
$wb["limit_database_txt"] = 'Max. number of Databases';
$wb["limit_database_error_notint"] = 'The database limit must be a number.';
+$wb["username_error_regex"] = 'The Username contains invalid chracaters.';
?>
\ No newline at end of file
diff --git a/interface/web/client/templates/client_edit_address.htm b/interface/web/client/templates/client_edit_address.htm
index 499e230b99f975e879a9cac808c7f798034d4681..0df4029e1b858cccbb0da7247d5cd18cd5de3ee8 100644
--- a/interface/web/client/templates/client_edit_address.htm
+++ b/interface/web/client/templates/client_edit_address.htm
@@ -9,7 +9,7 @@
{tmpl_var name='username_txt'}: |
- |
+ |
{tmpl_var name='password_txt'}: |
@@ -87,6 +87,6 @@
|
-
-
+
+
\ No newline at end of file