NEZ-1167 fix:Endpoint 名称校验相关问题

This commit is contained in:
zhangyu
2021-11-04 14:24:42 +08:00
parent 219e71f7e0
commit dc407816ce
6 changed files with 20 additions and 16 deletions

View File

@@ -344,7 +344,7 @@
<script>
import chartDataFormat from '../../charts/chartDataFormat'
import promqlInput from '../../page/dashboard/explore/promqlInput'
import { nzNumber } from '../js/validate'
import { noSpecialChar, nzNumber } from '../js/validate'
import editRigthBox from '../mixin/editRigthBox'
import richTextEditor from '@/components/charts/richTextEditor'
import promqlInputMixin from '@/components/common/mixin/promqlInput'
@@ -406,7 +406,8 @@ export default {
editAlertRule: {},
rules: {
name: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
{ required: true, message: this.$t('validate.required'), trigger: 'blur' },
{ validator: noSpecialChar, trigger: 'change' }
],
expr: [
{ required: true, message: this.$t('validate.required'), trigger: 'change' },

View File

@@ -296,7 +296,7 @@
</template>
<script>
import { host, port, checkAssetAge } from '@/components/common/js/validate'
import { host, port, noSpecialChar } from '@/components/common/js/validate'
import { asset as assetConstants } from '@/components/common/js/constants'
import selectAssetType from '@/components/common/popBox/selectAssetType'
import locationCascader from '@/components/common/rightBox/locationCascader'
@@ -345,7 +345,7 @@ export default {
rules: {
name: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' },
{ validator: checkAssetAge, trigger: 'blur' }
{ validator: noSpecialChar, trigger: 'blur' }
],
pid: [
{ required: true, message: this.$t('validate.required'), trigger: 'change' }

View File

@@ -160,7 +160,7 @@ export default {
groupData: [],
rules: {
name: [{ required: true, message: this.$t('validate.required'), trigger: 'change' }],
metaKey: [{ required: true, message: this.$t('validate.required'), trigger: 'change' }, { pattern: /\w/, message: this.$t('validate.onlyWord'), trigger: 'change' }],
metaKey: [{ required: true, message: this.$t('validate.required'), trigger: 'change' }, { pattern: /[a-zA-Z_][a-zA-Z0-9_]*/, message: this.$t('validate.onlyWord'), trigger: 'change' }],
groupId: [{ required: true, message: this.$t('validate.required'), trigger: 'change' }],
type: [{ required: true, message: this.$t('validate.required'), trigger: 'change' }]
},

View File

@@ -66,6 +66,7 @@
<script>
import latlngPicker from '../latlngPicker'
import editRigthBox from '../mixin/editRigthBox'
import { noSpecialChar } from '@/components/common/js/validate'
const regNum = /^[0-9]+.?[0-9]*/
@@ -84,7 +85,8 @@ export default {
editDc: {},
rules: {
name: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }
{ required: true, message: this.$t('validate.required'), trigger: 'blur' },
{ validator: noSpecialChar, trigger: 'change' }
]
// state: [
// { required: true, message: this.$t('validate.required'), trigger: 'blur' }

View File

@@ -196,7 +196,7 @@
<el-tab-pane :label="$t('project.endpoint.parameter')" name="Parameter">
<div id="module-box-params" ref="labelBoxScrollbar" style="height: 100%; overflow: auto;">
<div v-for="(item, index) in editEndpoint.paramObj" :key="index" class="param-box-row">
<el-form-item :prop="'paramObj.' + index + '.key'" class="param-box-row-key">
<el-form-item :prop="'paramObj.' + index + '.key'" class="param-box-row-key" :rules="[{ pattern: /[a-zA-Z_][a-zA-Z0-9_]*/, message: $t('validate.key') ,trigger: 'blur'}]">
<el-input v-model="item.key" placeholder="key" size="mini" ></el-input>
</el-form-item>
<span class="param-box-row-eq">=</span>
@@ -221,7 +221,7 @@
<el-tab-pane :label="$t('project.endpoint.labels2')" name="Labels">
<div id="module-box-labels" ref="labelBoxScrollbar" style="height: 100%; overflow: auto;">
<div v-for="(item, index) in editEndpoint.labelModule" :key="index" class="param-box-row">
<el-form-item :prop="'labelModule.' + index + '.key'" :rules="[{ pattern: /[a-zA-Z_:][a-zA-Z0-9_:]*/, message: $t('validate.key') ,trigger: 'blur'}]" class="param-box-row-key">
<el-form-item :prop="'labelModule.' + index + '.key'" :rules="[{ pattern: /[a-zA-Z_][a-zA-Z0-9_]*/, message: $t('validate.key') ,trigger: 'blur'}]" class="param-box-row-key">
<el-input v-model="item.key" placeholder="key" size="mini"></el-input>
</el-form-item>
<span class="param-box-row-eq">=</span>
@@ -276,7 +276,7 @@
class="half-form-item" :label="'Target label'"
:rules="[
{ required: item.action === 'replace', message: $t('validate.required'), trigger: 'blur' },
{ pattern: /[a-zA-Z_:][a-zA-Z0-9_:]*/, message: $t('validate.key') ,trigger: 'blur'}]"
{ pattern: /[a-zA-Z_][a-zA-Z0-9_]*/, message: $t('validate.key') ,trigger: 'blur'}]"
>
<el-input id="module-box-input-target_label" v-model="item.target_label" placeholder='' size="small"></el-input>
</el-form-item>
@@ -396,12 +396,12 @@
<el-tab-pane :label="$t('project.endpoint.labels2')" name="Labels">
<div id="module-box-logs-labels" ref="labelBoxScrollbar" style="height: 100%; overflow: auto;">
<div v-for="(item1, i) in item.labelModule" :key="i" class="param-box-row">
<el-form-item :prop="'configs.1.config.'+ index +'.labelModule.' + i + '.key'" :rules="[{ pattern: /[a-zA-Z_:][a-zA-Z0-9_:]*/, message: $t('validate.key') ,trigger: 'blur'}]" class="param-box-row-key">
<el-input v-model="item1.key" placeholder="key" size="mini"></el-input>
<el-form-item :prop="'configs.1.config.'+ index +'.labelModule.' + i + '.key'" :rules="[{ pattern: /[a-zA-Z_][a-zA-Z0-9_]*/, message: $t('validate.key') ,trigger: 'blur'}]" class="param-box-row-key">
<el-input v-model="item1.key" placeholder="key" size="mini" @input="$forceUpdate()"></el-input>
</el-form-item>
<span class="param-box-row-eq">=</span>
<el-form-item class="param-box-row-value">
<el-input v-model="item1.value" placeholder="value" size="mini"></el-input>
<el-input v-model="item1.value" placeholder="value" size="mini" @input="$forceUpdate()"></el-input>
</el-form-item>
<span :id="'moduel-remove-label-'+i" class="param-box-row-symbol" @click="removeLogsLabel(index, i)"><i class="nz-icon nz-icon-shanchu1" style="color:#666;"></i></span>
</div>
@@ -442,7 +442,7 @@
<div v-for="(expressions, eindex) in item2.expressions" :key="eindex" style="display: flex;justify-content: space-around;align-items: center;margin-bottom: 16px">
<el-form-item
:prop="'configs.1.config.'+ index +'.pipeline.' + index2 + '.expressions.'+eindex+'.key'"
:rules="[{ required: true, message: $t('validate.required'), trigger: 'blur' }]"
:rules="[{ required: true, message: $t('validate.required'), trigger: 'blur' },{ pattern: /[a-zA-Z_][a-zA-Z0-9_]*/, message: $t('validate.key') ,trigger: 'blur'}]"
style="width: 45%;margin: 0"
>
<el-input v-model="item2.expressions[eindex].key" placeholder="key" size="mini" ></el-input>
@@ -506,7 +506,7 @@
<div v-for="(expressions, eindex) in item2.labels" :key="eindex" style="display: flex;justify-content: space-around;align-items: center;margin-bottom: 16px">
<el-form-item
:prop="'configs.1.config.'+ index +'.pipeline.' + index2 + '.labels.'+eindex+'.key'"
:rules="[{ required: true, message: $t('validate.required'), trigger: 'blur' }]"
:rules="[{ required: true, message: $t('validate.required'), trigger: 'blur' },{ pattern: /[a-zA-Z_][a-zA-Z0-9_]*/, message: $t('validate.key') ,trigger: 'blur'}]"
style="width: 45%;margin: 0"
>
<el-input v-model="item2.labels[eindex].key" placeholder="key" size="mini" ></el-input>
@@ -1164,7 +1164,7 @@ export default {
this.editEndpoint.paramObj[index].value = newTags.map(item => item.text)
},
beforeAddingTag (tag) {
const regx = /[a-zA-Z_:][a-zA-Z0-9_:]*/
const regx = /[a-zA-Z_][a-zA-Z0-9_]*/
if (regx.test(tag.tag.text)) {
tag.addTag()
} else {
@@ -1300,6 +1300,7 @@ export default {
},
addLogsLabel (index) {
this.editEndpoint.configs[1].config[index].labelModule.push({ key: '', value: '' })
this.$forceUpdate()
},
removeLogsLabel (logsIndex, i) {
if (this.editEndpoint.configs[1].config[logsIndex].labelModule.length === 1) {

View File

@@ -16,7 +16,7 @@
<el-input id="project-box-input-name" v-model="editProject.name" maxlength="64" show-word-limit size="small"></el-input>
</el-form-item>
<el-form-item :label='$t("overall.remark")'>
<el-input id="project-box-input-name" v-model="editProject.remark" maxlength="256" show-word-limit type="textarea"></el-input>
<el-input id="project-box-input-remark" v-model="editProject.remark" maxlength="256" show-word-limit type="textarea"></el-input>
</el-form-item>
</el-form>
</div>