Raod пре 4 година
родитељ
комит
c0aa455761

+ 14 - 0
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();
+    }
+  }
+}

+ 2 - 0
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' },

+ 3 - 1
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"
           },

+ 3 - 1
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" }