diff --git a/nezha-fronted/src/components/common/language/en.js b/nezha-fronted/src/components/common/language/en.js index 803038643..a02cbb732 100644 --- a/nezha-fronted/src/components/common/language/en.js +++ b/nezha-fronted/src/components/common/language/en.js @@ -76,6 +76,9 @@ const en = { validate: { //校验规则 required: 'Required', number: 'Must be a number', + email:'E-mail is invalide', + tel:'Phone number is invalide', + host:'IP Address is invalide', config: { account: { diff --git a/nezha-fronted/src/components/page/config/promServer.vue b/nezha-fronted/src/components/page/config/promServer.vue index d7f37dd03..a5a21afe3 100644 --- a/nezha-fronted/src/components/page/config/promServer.vue +++ b/nezha-fronted/src/components/page/config/promServer.vue @@ -178,6 +178,20 @@ export default { name: "prom", data() { + let checkHost=(rule, value, callback) => { + if(!value || value == ''){ + callback(new Error(this.$t('validate.required'))) + } + const hostReg = /^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/ + setTimeout(() => { + if (hostReg.test(value)) { + callback() + } else { + callback(new Error(this.$t('validate.host'))) + } + + }, 100) + } return { rightBox: { //弹出框相关 show: false, @@ -187,6 +201,7 @@ export default { promServer: { id: '', host: '', + port:9090, idc: {id: '', name: '', location: ''} }, rules:{ @@ -194,7 +209,7 @@ export default { {required:true,message:this.$t('validate.required'),trigger:'change'} ], host:[ - {required:true,message:this.$t('validate.required'),trigger:'blur'} + { validator: checkHost, trigger: 'blur'} ], port:[ {required:true,message:this.$t('validate.required'),trigger:'blur'}, @@ -479,6 +494,7 @@ export default { this.promServer = { id: '', host: '', + port:9090, idcId: '', idc: {id: '', name: '', location: ''} }