Procházet zdrojové kódy

:sparkles: 添加新特性。 支持通用校验规则

冷冷 před 6 roky
rodič
revize
9a3075f8c9
4 změnil soubory, kde provedl 52 přidání a 10 odebrání
  1. 1 0
      package.json
  2. 11 8
      src/const/crud/admin/user.js
  3. 2 2
      src/page/wel.vue
  4. 38 0
      src/util/rule.js

+ 1 - 0
package.json

@@ -33,6 +33,7 @@
     "vuex": "^3.0.1"
   },
   "devDependencies": {
+    "@vue/cli-plugin-babel": "~3.8.0",
     "@vue/cli-service": "~3.8.4",
     "chai": "^4.1.2",
     "node-sass": "^4.9.0",

+ 11 - 8
src/const/crud/admin/user.js

@@ -14,7 +14,9 @@
  * this software without specific prior written permission.
  * Author: lengleng (wangiegie@gmail.com)
  */
-import { getDetails } from '@/api/admin/user'
+import {rule} from "@/util/rule"
+import {getDetails} from '@/api/admin/user'
+
 
 var validateUsername = (rule, value, callback) => {
   getDetails(value).then(response => {
@@ -57,13 +59,14 @@ export const tableOption = {
       required: true,
       message: '请输入用户名'
     },
-    {
-      min: 3,
-      max: 20,
-      message: '长度在 3 到 20 个字符',
-      trigger: 'blur'
-    },
-    { validator: validateUsername, trigger: 'blur' }
+      {
+        min: 3,
+        max: 20,
+        message: '长度在 3 到 20 个字符',
+        trigger: 'blur'
+      },
+      {validator: rule.validatorName, trigger: 'blur'},
+      {validator: validateUsername, trigger: 'blur'}
     ]
   }, {
     label: '密码',

+ 2 - 2
src/page/wel.vue

@@ -6,7 +6,7 @@
           <a href="https://avue.top/#/pay" target="_blank">
             <img src="https://img.shields.io/badge/Avue-2.0.4-green.svg" alt="Build Status">
           </a>
-          <img src="https://img.shields.io/badge/Spring%20Boot-2.1.6.RELEASE-yellowgreen.svg" alt="Downloads">
+          <img src="https://img.shields.io/badge/Spring%20Boot-2.1.7.RELEASE-yellowgreen.svg" alt="Downloads">
           <img src="https://img.shields.io/badge/Spring%20Cloud-Greenwich.SR2-blue.svg" alt="Coverage Status">
         </span>
         <br>
@@ -15,7 +15,7 @@
             <el-collapse-item title="完整的微服务架构" name="1">
               <div>基于Spring Cloud Gateway</div>
               <div>基于Spring Cloud Greenwich.SR2</div>
-              <div>基于Spring Boot 2.1.6.RELEASE</div>
+              <div>基于Spring Boot 2.1.7.RELEASE</div>
             </el-collapse-item>
             <el-collapse-item title="完善的权限控制" name="2">
               <div>基于Spring Security OAuth实现鉴权体系;</div>

+ 38 - 0
src/util/rule.js

@@ -0,0 +1,38 @@
+/**
+ * @desc  [自定义校验规则]
+ * @example
+ *  import { rule } from "@/util/rule";
+ *  rules: [
+ *     { validator: rule.emailValue, trigger: 'blur'}
+ *  ]
+ *
+ *  可参考: https://gitee.com/log4j/codes/lgfxz09bmt7ea3rdwnocs20
+ */
+
+export const rule = {
+  /**
+   * 校验 请输入中文、英文、数字包括下划线
+   * 名称校验
+   */
+  validatorNameCn(rule, value, callback) {
+    let acount = /^[\u4E00-\u9FA5A-Za-z0-9_]+$/
+    if (value && (!(acount).test(value))) {
+      callback(new Error('请输入中文、英文、数字包括下划线'))
+    } else {
+      callback()
+    }
+  },
+  /**
+   * 校验 请输入英文、数字包括下划线
+   * 名称校验
+   */
+  validatorName(rule, value, callback) {
+    let acount = /^[A-Z_]+$/
+    if (value && (!(acount).test(value))) {
+      callback(new Error('请输入大写英文、下划线'))
+    } else {
+      callback()
+    }
+  },
+  // 校验规则根据不同业务需求,不断拓展补充 ...
+}