diff --git a/report-ui/src/utils/validate.js b/report-ui/src/utils/validate.js index e1103104..aa056196 100644 --- a/report-ui/src/utils/validate.js +++ b/report-ui/src/utils/validate.js @@ -30,3 +30,17 @@ export function validatAlphabets(str) { const reg = /^[A-Za-z]+$/ return reg.test(str) } + +/*验证内容是否英文数字以及下划线*/ +export function validateEngOrNum(rule, value, callback) { + const reg =/^[_a-zA-Z0-9]+$/; + if(value==''||value==undefined||value==null){ + callback(); + } else { + if (!reg.test(value)){ + callback(new Error('英文字母、数字或下划线')); + } else { + callback(); + } + } +} diff --git a/report-ui/src/views/report/datasource/components/EditDataSource.vue b/report-ui/src/views/report/datasource/components/EditDataSource.vue index 7a307f16..0267f240 100644 --- a/report-ui/src/views/report/datasource/components/EditDataSource.vue +++ b/report-ui/src/views/report/datasource/components/EditDataSource.vue @@ -44,6 +44,7 @@ import { testConnection, reportDataSourceDetail, reportDataSourceAdd, reportDataSourceUpdate } from '@/api/reportDataSource' import { getDictList } from '@/api/dict-data' // 获取数据字典 import Dictionary from '@/components/Dictionary/index' +import {validateEngOrNum} from "@/utils/validate"; export default { name: 'Support', components: { Dictionary }, @@ -97,6 +98,7 @@ export default { ], sourceCode: [ { required: true, message: '数据集编码必填', trigger: 'blur' }, + { validator: validateEngOrNum, trigger: 'blur' }, ], sourceName: [ { required: true, message: '数据源名称必选', trigger: 'blur' }, diff --git a/report-ui/src/views/report/report/index.vue b/report-ui/src/views/report/report/index.vue index b5636902..4c27c037 100644 --- a/report-ui/src/views/report/report/index.vue +++ b/report-ui/src/views/report/report/index.vue @@ -46,6 +46,7 @@ import { reportDetail } from "@/api/reportmanage"; import Share from "@/views/report/report/components/share"; +import {validateEngOrNum} from "@/utils/validate"; export default { name: "Report", components: { @@ -131,7 +132,8 @@ export default { editField: "reportCode", inputType: "input", rules: [ - { min: 1, max: 100, message: "不超过100个字符", trigger: "blur" } + { min: 1, max: 100, message: "不超过100个字符", trigger: "blur" }, + { validator: validateEngOrNum, trigger: 'blur' }, ], disabled: "disableOnEdit" }, diff --git a/report-ui/src/views/report/resultset/components/EditDataSet.vue b/report-ui/src/views/report/resultset/components/EditDataSet.vue index 5aaf1099..17520511 100644 --- a/report-ui/src/views/report/resultset/components/EditDataSet.vue +++ b/report-ui/src/views/report/resultset/components/EditDataSet.vue @@ -383,6 +383,7 @@ import "codemirror/lib/codemirror.css"; // 核心样式 import "codemirror/theme/cobalt.css"; // 引入主题后还需要在 options 中指定主题才会生效 import vueJsonEditor from "vue-json-editor"; import MonacoEditor from "./MonacoEditor.vue"; +import {validateEngOrNum} from "@/utils/validate"; export default { name: "Support", components: { Dictionary, codemirror, vueJsonEditor, MonacoEditor }, @@ -469,7 +470,8 @@ export default { { required: true, message: "数据集名称必填", trigger: "blur" } ], setCode: [ - { required: true, message: "数据集编码必填", trigger: "blur" } + { required: true, message: "数据集编码必填", trigger: "blur" }, + { validator: validateEngOrNum, trigger: 'blur' }, ], sourceCode: [ { required: true, message: "数据源必选", trigger: "change" }