fix:dc添加bug & module、project name校验

This commit is contained in:
wangwenrui
2020-01-17 10:35:09 +08:00
parent 15a0e803f8
commit cd40d1c6f3
8 changed files with 34 additions and 15 deletions

View File

@@ -1,12 +1,8 @@
import vm from '../../../main' import vm from '../../../main'
export function host(rule, value, callback) { export function host(rule, value, callback) {
console.log("callback:")
console.log(callback)
console.log(typeof callback)
if(!value || value == ''){ if(!value || value == ''){
callback(new Error(vm.$t('validate.required'))) callback()
} }
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])$/ 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(() => { setTimeout(() => {
@@ -39,7 +35,7 @@ export function phone(rule, value, callback) {
export function port(rule, value, callback) { export function port(rule, value, callback) {
if(!value || value == ''){ if(!value || value == ''){
callback(new Error(vm.$t('validate.required'))) callback()
} }
setTimeout(() => { setTimeout(() => {
if(typeof value != 'number'){ if(typeof value != 'number'){
@@ -50,3 +46,14 @@ export function port(rule, value, callback) {
} }
}, 100) }, 100)
} }
export function noSpecialChar(rule, value, callback){
const charReg = /\w+/;
setTimeout(() => {
if (charReg.test(value)) {
callback()
} else {
callback(new Error(vm.$t('validate.special')))
}
}, 100)
}

View File

@@ -123,6 +123,8 @@ const cn = {
tel:'不合法的电话号码', tel:'不合法的电话号码',
host:'不合法的IP', host:'不合法的IP',
fileSize:'文件过大', fileSize:'文件过大',
port:'不合法的端口',
special:'不能包含特殊字符',
config: { config: {
account: { account: {

View File

@@ -125,6 +125,7 @@ const en = {
host:'IP Address is invalid', host:'IP Address is invalid',
fileSize:'upload file is too large', fileSize:'upload file is too large',
port:'Port is invalide', port:'Port is invalide',
special:'Has special characters',
config: { config: {
account: { account: {

View File

@@ -1,9 +1,9 @@
<template> <template>
<el-popover :placement="placement" @show="afterShow" width="400" @hide="hidePop" ref="popBox" v-model="popBox.show" popper-class="nz-pop"> <el-popover :placement="placement" @show="afterShow" width="400" @hide="hidePop" ref="popBox" v-model="popBox.show">
<div class=""> <div class="">
<!-- begin--顶部按钮--> <!-- begin--顶部按钮-->
<div class="pop-top-btns"> <div class="pop-top-btns">
<button type="button" v-if="idc.id != '' && popBox.isEdit" @click="del" class="nz-btn nz-btn-size-small nz-btn-size-alien nz-btn-style-light nz-btn-min-width-60" id="dc-del"> <button type="button" v-if="idc.id && idc.id != ''" @click="del" class="nz-btn nz-btn-size-small nz-btn-size-alien nz-btn-style-light nz-btn-min-width-60" id="dc-del">
<span class="pop-top-btn-icon"><i class="el-icon-delete"></i></span> <span class="pop-top-btn-icon"><i class="el-icon-delete"></i></span>
<span class="pop-top-btn-txt">{{$t('overall.delete')}}</span> <span class="pop-top-btn-txt">{{$t('overall.delete')}}</span>
</button> </button>

View File

@@ -164,6 +164,9 @@
</template> </template>
<script> <script>
import {noSpecialChar} from "../js/validate";
import {port} from "../js/validate";
export default { export default {
name: "moduleBox", name: "moduleBox",
props: { props: {
@@ -179,13 +182,14 @@
}, },
rules: { rules: {
name: [ name: [
{required: true, message: this.$t('validate.required'), trigger: 'blur'} {required: true, message: this.$t('validate.required'), trigger: 'blur'},
{validator:noSpecialChar,trigger: "change"}
], ],
project: [ project: [
{required: true, message: this.$t('validate.required'), trigger: 'change'} {required: true, message: this.$t('validate.required'), trigger: 'change'}
], ],
port: [ port: [
{type: 'number', message: this.$t('validate.number'), trigger: 'blur'} {validator:port, trigger: 'blur'}
], ],
}, },
projectList: [], projectList: [],

View File

@@ -43,6 +43,7 @@
</transition> </transition>
</template> </template>
<script> <script>
import {noSpecialChar} from '../../common/js/validate';
export default { export default {
name: "projectBox", name: "projectBox",
props: { props: {
@@ -58,7 +59,8 @@
}, },
rules: { rules: {
name: [ name: [
{required: true, message: this.$t('validate.required'), trigger: 'blur'} {required: true, message: this.$t('validate.required'), trigger: 'blur'},
{validator:noSpecialChar,trigger: "change"}
] ]
} }
} }

View File

@@ -67,7 +67,7 @@ export default {
let validatePort=(rule,value,callback) => { let validatePort=(rule,value,callback) => {
if(this.asComponent){//作为组件使用,正常验证 if(this.asComponent){//作为组件使用,正常验证
port(rule,value,callback); return port(rule,value,callback);
}else{ }else{
if(this.account.user){ if(this.account.user){
if(!value || value == ''){ if(!value || value == ''){
@@ -97,7 +97,8 @@ export default {
{ validator: validataUser, trigger: 'blur'} { validator: validataUser, trigger: 'blur'}
], ],
port:[ port:[
{ validator: validatePort, trigger: 'change',required:true} { validator: validatePort, trigger: 'change'},
{required:true,message:this.$t('validate.required')}
], ],
file:[ file:[
{ validator: validateFile, trigger: 'change'} { validator: validateFile, trigger: 'change'}

View File

@@ -182,10 +182,12 @@ export default {
{required:true,message:this.$t('validate.required'),trigger:'change'} {required:true,message:this.$t('validate.required'),trigger:'change'}
], ],
host:[ host:[
{ validator: host, trigger: 'blur',required:true} { validator: host, trigger: 'blur',required:true},
{required:true,message:this.$t('validate.required')}
], ],
port:[ port:[
{ validator: port, trigger: 'blur',required:true} { validator: port, trigger: 'blur'},
{required:true,message:this.$t('validate.required')}
], ],
type:[ type:[
{required:true,message:this.$t('validate.required'),trigger:'change'}, {required:true,message:this.$t('validate.required'),trigger:'change'},