CN-1305 fix: 管理页创建用户时,在名称里输入特殊字符,中文界面和英文界面的报错信息不同

This commit is contained in:
刘洪洪
2023-09-18 16:09:13 +08:00
parent 52ce190af0
commit e6c8c46bf3

View File

@@ -142,11 +142,14 @@ export default {
} }
const validateName = (rule, value, callback) => { const validateName = (rule, value, callback) => {
let validate = true let validate = true
const reg = /^[a-zA-Z0-9\u4e00-\u9fa5\u30a1-\u30f6\u3041-\u3093\uFF00-\uFFFF\u4e00-\u9fa5\u0400-\u04FF\s]{2,64}$/ // const reg = /^[a-zA-Z0-9\u4e00-\u9fa5\u30a1-\u30f6\u3041-\u3093\uFF00-\uFFFF\u4e00-\u9fa5\u0400-\u04FF\s]{2,64}$/
const reg = /^[\u4E00-\u9FA5\a-zA-Z0-9\u3040-\u309F\u0800-\u4e00\u0400-\u04FF\u2000-\u206F\s]{2,64}$/
const emptyFlag = value[0] === ' ' || value[value.length - 1] === ' '
validate = reg.test(value) validate = reg.test(value)
if (value.length < 2) { if (value.length < 2) {
callback(new Error(this.$t('validate.atLeastTwo'))) callback(new Error(this.$t('validate.atLeastTwo')))
} else if (!validate) { } else if (!validate || value.trim() === '' || emptyFlag) {
// 除满足中英日俄、数字空格外,不能全为空格,前后也不可为空格
callback(new Error(this.$t('validate.name'))) callback(new Error(this.$t('validate.name')))
} else { } else {
callback() callback()
@@ -154,7 +157,9 @@ export default {
} }
const validateUserName = (rule, value, callback) => { const validateUserName = (rule, value, callback) => {
let validate = true let validate = true
const reg = /^[a-zA-Z0-9_\u4e00-\u9fa5\u30a1-\u30f6\u3041-\u3093\uFF00-\uFFFF\u4e00-\u9fa5\u0400-\u04FF\s]{2,64}$/ // const reg = /^[a-zA-Z0-9_\u4e00-\u9fa5\u30a1-\u30f6\u3041-\u3093\uFF00-\uFFFF\u4e00-\u9fa5\u0400-\u04FF\s]{2,64}$/
// 校验,只允许中、英、数字和下划线
const reg = /^[\u4e00-\u9fa5_a-zA-Z0-9]{2,64}$/
validate = reg.test(value) validate = reg.test(value)
if (value.length < 2) { if (value.length < 2) {
callback(new Error(this.$t('validate.atLeastTwo'))) callback(new Error(this.$t('validate.atLeastTwo')))
@@ -170,11 +175,11 @@ export default {
rules: { // 表单校验规则 rules: { // 表单校验规则
name: [ name: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }, { required: true, message: this.$t('validate.required'), trigger: 'blur' },
{ validator: validateName, trigger: 'change' } { validator: validateName, trigger: 'blur' }
], ],
username: [ username: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }, { required: true, message: this.$t('validate.required'), trigger: 'blur' },
{ validator: validateUserName, trigger: 'change' } { validator: validateUserName, trigger: 'blur' }
], ],
pin: [ pin: [
{ required: true, message: this.$t('validate.required'), trigger: 'blur' }, { required: true, message: this.$t('validate.required'), trigger: 'blur' },