diff --git a/src/common/ValidationUtil.ts b/src/common/ValidationUtil.ts
new file mode 100644
index 0000000..4e1a7b5
--- /dev/null
+++ b/src/common/ValidationUtil.ts
@@ -0,0 +1,59 @@
+export default class ValidationUtil {
+ static isIpAddress(str: string): boolean {
+ return (
+ str == "localhost" ||
+ /^([1-9]|[1-9][0-9]|1\d\d|2[0-2][0-3])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-4])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-4])\.([1-9]|[1-9][0-9]|1\d\d|2[0-4]\d|25[0-4])$/.test(
+ str
+ )
+ );
+ }
+
+ static isHost(str: string): boolean {
+ return (
+ str == "localhost" ||
+ /^([1-9]|[1-9][0-9]|1\d\d|2[0-2][0-3])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-4])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-4])\.([1-9]|[1-9][0-9]|1\d\d|2[0-4]\d|25[0-4])$/.test(
+ str
+ ) ||
+ /^([1-9]|[1-9][0-9]|1\d\d|2[0-2][0-3])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-4])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-4])\.([1-9]|[1-9][0-9]|1\d\d|2[0-4]\d|25[0-4])\:([0-9]|[1-9]\d{1,3}|[1-5]\d{4}|6[0-5]{2}[0-3][0-5])$/.test(
+ str
+ )
+ );
+ }
+
+ static isMacAddress(str: string): boolean {
+ return /([A-Fa-f0-9]{2}:){5}[A-Fa-f0-9]{2}/.test(str);
+ }
+
+ static isMaskAddress(str: string): boolean {
+ return /^(254|252|248|240|224|192|128|0)\.0\.0\.0|255\.(254|252|248|240|224|192|128|0)\.0\.0|255\.255\.(254|252|248|240|224|192|128|0)\.0|255\.255\.255\.(254|252|248|240|224|192|128|0)$/.test(
+ str
+ );
+ }
+
+ static isHexStr(str: string): boolean {
+ if (str != null && str != undefined && typeof str == "string") {
+ str = str.trim();
+ if (str.length == 0) {
+ return true;
+ }
+ for (const item of str.split(" ")) {
+ if (item.length > 4) {
+ return false;
+ }
+ if (!/^0[xX][A-Fa-f0-9]{1,2}/.test(item)) {
+ return false;
+ }
+ }
+ return true;
+ }
+ return false;
+ }
+
+ static isResolution(str: string): boolean {
+ return /([0-9]{1,5})[x|X]([0-9]{1,5}@[0-9]{1,3}$)/.test(str);
+ }
+
+ static isEnglishOrNum(str: string): boolean {
+ return /^[0-9a-zA-Z_\-]+$/.test(str);
+ }
+}
diff --git a/src/components/AdvancedIpAddressDialog.vue b/src/components/AdvancedIpAddressDialog.vue
index 6664c8a..6b1abec 100644
--- a/src/components/AdvancedIpAddressDialog.vue
+++ b/src/components/AdvancedIpAddressDialog.vue
@@ -88,7 +88,8 @@
(val) =>
(val && val.length > 0) || $t('Please type something'),
(val) =>
- isIpAddress(val) || $t('Please input vaild ip address'),
+ isMaskAddress(val) ||
+ $t('Please input vaild netmask address'),
]"
lazy-rules
/>
@@ -162,12 +163,12 @@
+
+
+
+
+
+
+
+ {{ $t("login") }}
+
+
+
+
+
+
+
+ {
+ if (evt.keyCode == 13) {
+ $refs?.user_name?.focus();
+ }
+ }
+ "
+ >
+
+
+
+
+
+
+
+
+
+
+
+
+ {
+ if (evt.keyCode == 13) {
+ $refs?.password_input?.focus();
+ }
+ }
+ "
+ >
+
+
+
+
+
+
+
+
+
+
+
+
+ {
+ if (evt.keyCode == 13) {
+ $refs?.login_button?.click();
+ }
+ }
+ "
+ >
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+