diff --git a/interface/lib/classes/validate_server.inc.php b/interface/lib/classes/validate_server.inc.php
new file mode 100644
index 0000000000000000000000000000000000000000..9a8dfcc2782a8e55a1a6a17bc57eb46ebcaf141a
--- /dev/null
+++ b/interface/lib/classes/validate_server.inc.php
@@ -0,0 +1,61 @@
+tform->wordbook[$errmsg])) {
+ return $app->tform->wordbook[$errmsg]."
\r\n";
+ } else {
+ return $errmsg."
\r\n";
+ }
+ }
+
+ /**
+ * Validator function for server-ip
+ */
+ function check_server_ip($field_name, $field_value, $validator) {
+ if($_POST['ip_type'] == 'IPv41') {
+ if(!filter_var($field_value, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4)) {
+ return $this->get_error($validator['errmsg']);
+ }
+ } elseif ($_POST['ip_type'] == 'IPv61') {
+ if(!filter_var($field_value, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6)) {
+ return $this->get_error($validator['errmsg']);
+ }
+ } else return $this->get_error($validator['errmsg']);
+ }
+
+}
+
diff --git a/interface/web/admin/form/server_ip.tform.php b/interface/web/admin/form/server_ip.tform.php
index 0dbdfe190d12c81540e31a24cdb31fdd2ef4c594..49a59de1623dedb83af3a5a041191bbc8c13dc65 100644
--- a/interface/web/admin/form/server_ip.tform.php
+++ b/interface/web/admin/form/server_ip.tform.php
@@ -121,7 +121,7 @@ $form["tabs"]['server_ip'] = array (
'ip_address' => array (
'datatype' => 'VARCHAR',
'formtype' => 'TEXT',
- 'validators' => array ( 0 => array ( 'type' => 'ISIP',
+ 'validators' => array ( 0 => array ( 'type' => 'CUSTOME', 'class' => 'validate_server', 'function' => 'check_server_ip',
'errmsg'=> 'ip_error_wrong'),
1 => array ( 'type' => 'UNIQUE',
'errmsg'=> 'ip_error_unique'),