From 1405d6b3fe40f240df495ee5da483492c3eb38a9 Mon Sep 17 00:00:00 2001 From: hyx Date: Wed, 12 Jul 2023 11:51:23 +0800 Subject: [PATCH] =?UTF-8?q?CN-1159=20fix:userbox=E3=80=81rolebox=E8=A1=A8?= =?UTF-8?q?=E5=8D=95=E6=A0=A1=E9=AA=8C=E6=8F=90=E7=A4=BA=E5=86=85=E5=AE=B9?= =?UTF-8?q?=E4=B8=8D=E5=90=88=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/rightBox/settings/RoleBox.vue | 14 +++++++++++++- src/components/rightBox/settings/UserBox.vue | 16 ++++++++++++++-- src/utils/constants.js | 2 ++ 3 files changed, 29 insertions(+), 3 deletions(-) diff --git a/src/components/rightBox/settings/RoleBox.vue b/src/components/rightBox/settings/RoleBox.vue index 31f1bc08..83e92e64 100644 --- a/src/components/rightBox/settings/RoleBox.vue +++ b/src/components/rightBox/settings/RoleBox.vue @@ -64,6 +64,18 @@ export default { detail: Boolean }, data () { + const validateName = (rule, value, callback) => { + let validate = true + const reg = /^[a-zA-Z0-9\u4e00-\u9fa5\u30a1-\u30f6\u3041-\u3093\uFF00-\uFFFF\u4e00-\u9fa5\u0400-\u04FF\s]{2,64}$/ + validate = reg.test(value) + if (value.length < 2) { + callback(new Error(this.$t('validate.atLeastTwo'))) + } else if (!validate) { + callback(new Error(this.$t('validate.name'))) + } else { + callback() + } + } return { editRole: {}, url: api.role, @@ -71,7 +83,7 @@ export default { rules: { // 表单校验规则 name: [ { required: true, message: this.$t('validate.required'), trigger: 'blur' }, - { pattern: /^[a-zA-Z0-9]{2,64}$/, message: this.$t('validate.atLeastTwo') } // 目前仅对长度要求在2-64之间,后续有需求再添加 + { validator: validateName, trigger: 'change' } ] }, menus: [], diff --git a/src/components/rightBox/settings/UserBox.vue b/src/components/rightBox/settings/UserBox.vue index b7a430d6..66f55798 100644 --- a/src/components/rightBox/settings/UserBox.vue +++ b/src/components/rightBox/settings/UserBox.vue @@ -132,17 +132,29 @@ export default { callback() } } + const validateName = (rule, value, callback) => { + let validate = true + const reg = /^[a-zA-Z0-9\u4e00-\u9fa5\u30a1-\u30f6\u3041-\u3093\uFF00-\uFFFF\u4e00-\u9fa5\u0400-\u04FF\s]{2,64}$/ + validate = reg.test(value) + if (value.length < 2) { + callback(new Error(this.$t('validate.atLeastTwo'))) + } else if (!validate) { + callback(new Error(this.$t('validate.name'))) + } else { + callback() + } + } return { url: api.user, loginName: localStorage.getItem(storageKey.username), rules: { // 表单校验规则 name: [ { required: true, message: this.$t('validate.required'), trigger: 'blur' }, - { pattern: /^[a-zA-Z0-9]{2,64}$/, message: this.$t('validate.atLeastTwo') } + { validator: validateName, trigger: 'change' } ], username: [ { required: true, message: this.$t('validate.required'), trigger: 'blur' }, - { pattern: /^[a-zA-Z0-9]{2,64}$/, message: this.$t('validate.atLeastTwo') } + { pattern: /^[a-zA-Z0-9_]{2,64}$/, message: this.$t('validate.atLeastTwo') } ], pin: [ { required: true, message: this.$t('validate.required'), trigger: 'blur' }, diff --git a/src/utils/constants.js b/src/utils/constants.js index b1326aef..2ab9bd51 100644 --- a/src/utils/constants.js +++ b/src/utils/constants.js @@ -105,6 +105,8 @@ export const entityDetailTabsName = { performanceEvent: 'performanceEvent' } +export const entityDetailRelatedEntitiesShowSize = 100 + export const echartsFontSize = { legendFirstFontSize: 12, // <1920 legendSecondFontSize: 14, // >=1920 && <2560