From 7fc5f1a8f2d72c3775ae873a8768b96bfb66db73 Mon Sep 17 00:00:00 2001 From: Maksim Zakharov Date: Wed, 3 Aug 2022 16:40:48 +0300 Subject: add IP validate for Network page --- src/components/_sila/Mixins/VuelidateMixin.js | 9 +++++++++ src/views/_sila/Overview/Network/ModalDns.vue | 2 +- src/views/_sila/Overview/Network/ModalIpv4.vue | 6 +++--- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/src/components/_sila/Mixins/VuelidateMixin.js b/src/components/_sila/Mixins/VuelidateMixin.js index fec85251..343d24a7 100644 --- a/src/components/_sila/Mixins/VuelidateMixin.js +++ b/src/components/_sila/Mixins/VuelidateMixin.js @@ -4,6 +4,15 @@ const VuelidateMixin = { const { $dirty, $error } = model; return $dirty ? !$error : null; }, + getIpValidationState(model) { + const { $dirty, $error, $model } = model; + return $dirty + ? !$error && + /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/.test( + $model + ) + : null; + }, }, }; diff --git a/src/views/_sila/Overview/Network/ModalDns.vue b/src/views/_sila/Overview/Network/ModalDns.vue index 82edb1e8..641fe78d 100644 --- a/src/views/_sila/Overview/Network/ModalDns.vue +++ b/src/views/_sila/Overview/Network/ModalDns.vue @@ -16,7 +16,7 @@ id="staticDns" v-model="form.staticDns" type="text" - :state="getValidationState($v.form.staticDns)" + :state="getIpValidationState($v.form.staticDns)" @input="$v.form.staticDns.$touch()" /> diff --git a/src/views/_sila/Overview/Network/ModalIpv4.vue b/src/views/_sila/Overview/Network/ModalIpv4.vue index 00742a11..51d06eff 100644 --- a/src/views/_sila/Overview/Network/ModalIpv4.vue +++ b/src/views/_sila/Overview/Network/ModalIpv4.vue @@ -16,7 +16,7 @@ id="ipAddress" v-model="form.ipAddress" type="text" - :state="getValidationState($v.form.ipAddress)" + :state="getIpValidationState($v.form.ipAddress)" @input="$v.form.ipAddress.$touch()" /> @@ -38,7 +38,7 @@ id="gateway" v-model="form.gateway" type="text" - :state="getValidationState($v.form.gateway)" + :state="getIpValidationState($v.form.gateway)" @input="$v.form.gateway.$touch()" /> @@ -62,7 +62,7 @@ id="subnetMask" v-model="form.subnetMask" type="text" - :state="getValidationState($v.form.subnetMask)" + :state="getIpValidationState($v.form.subnetMask)" @input="$v.form.subnetMask.$touch()" /> -- cgit v1.2.3