From e52fe71fb9c6dd82f996a9db07b2bd765c27f09b Mon Sep 17 00:00:00 2001
From: 马宇豪 <978517621@qq.com>
Date: 星期二, 21 一月 2025 16:36:58 +0800
Subject: [PATCH] 添加校验

---
 src/views/login/register.vue |   59 +++++++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 47 insertions(+), 12 deletions(-)

diff --git a/src/views/login/register.vue b/src/views/login/register.vue
index 424a92e..36c011d 100644
--- a/src/views/login/register.vue
+++ b/src/views/login/register.vue
@@ -18,7 +18,7 @@
                 <el-row>
                     <el-col :span="20">
                         <el-form-item label="终端机用户名" prop="enterprisenumber">
-                            <el-input v-model="registerForm.enterprisenumber" @change="checkNameAndNumber('number')" placeholder="自定义英文+数字,将作为销售终端用户名"></el-input>
+                            <el-input v-model="registerForm.enterprisenumber" @change="checkNameAndNumber('number')" placeholder="自定义英文或数字,将作为销售终端用户名"></el-input>
                         </el-form-item>
                     </el-col>
                     <el-col :span="4" style="margin-top:10px;" v-if="showNumber">
@@ -481,10 +481,44 @@
 import {isNameExist, isNumberExist, register} from "../../api/login";
 import {getCityListData, getProvinceListData} from "../../api/area";
 import {parseError} from "../../utils/messageDialog";
+import {validEnterName, validEnterNumber, verifyPwd} from "../../utils/validate";
 
 export default {
     name: "register",
     data(){
+        let checkEnterName = (rule, value, callback)=>{
+            if(value === ''){
+                callback(new Error('请填写企业名称'))
+            }else{
+                if(!validEnterName(value)){
+                    callback(new Error('名称不能包含中文括号'))
+                }else{
+                    callback()
+                }
+            }
+        }
+        let checkNumber = (rule, value, callback)=>{
+            if(value === ''){
+                callback(new Error('请填写终端机用户名'))
+            }else{
+                if(!validEnterNumber(value)){
+                    callback(new Error('名称请使用英文或数字(长度2到30),不能包含中文'))
+                }else{
+                    callback()
+                }
+            }
+        }
+        let checkPassword = (rule, value, callback)=>{
+            if(value === ''){
+                callback(new Error('请填写密码'))
+            }else{
+                if(!verifyPwd(value)){
+                    callback(new Error('密码须同时包含字母、数字、特殊字符,长度在6-16之间'))
+                }else{
+                    callback()
+                }
+            }
+        }
         return{
             showNumber:false,
             showName:false,
@@ -524,13 +558,13 @@
             safetyProduction:[],
             rules:{
                 enterprisename:[
-                    { required: true, message: '请填写企业名称', trigger: 'blur' },
+                    { required: true, validator: checkEnterName,  trigger: 'blur' },
                 ],
                 enterprisenumber:[
-                    { required: true, message: '请填写终端机用户名', trigger: 'blur' },
+                    { required: true, validator: checkNumber,  trigger: 'blur' },
                 ],
                 password:[
-                    { required: true, message: '请填写密码', trigger: 'change' },
+                    { required: true, validator: checkPassword, trigger: 'change' },
                 ],
                 type:[
                     { required: true, message: '请选择企业类型', trigger: 'blur' },
@@ -656,7 +690,8 @@
         async submit(){
             this.$refs["ruleForm"].validate((valid) =>{
                 if(valid){
-                    if(this.registerForm.type === '烟花爆竹生产' && this.businessLicense.length !== 0 && this.idCard.length !== 0 && this.legalPerson.length !== 0 && this.operationQualification.length !== 0 && this.escortCompany.length !== 0 && this.insurance.length !==0){
+                    // console.log(this.registerForm.type,'type',this.businessLicense, this.idCard,this.legalPerson,this.operationQualification,this.escortCompany,this.insurance)
+                    if(this.registerForm.type === '烟花爆竹生产'){
                         this.businessLicense = this.businessLicense.map((item,index,arr) =>{
                             return item.raw
                         },this.businessLicense)
@@ -733,7 +768,7 @@
                         }).catch(error => {
                             parseError({error: error, vm: this})
                         })
-                    }else if(this.registerForm.type === '烟花爆竹批发经营'&&  this.businessLicense.length !== 0 && this.idCard.length !== 0 && this.legalPerson.length !== 0 && this.operationQualification.length !== 0 && this.escortCompany.length !== 0 && this.insurance.length !== 0 && this.safetyProduction.length !== 0){
+                    }else if(this.registerForm.type === '烟花爆竹批发经营'){
                         this.businessLicense = this.businessLicense.map((item,index,arr) =>{
                             return item.raw
                         },this.businessLicense)
@@ -810,7 +845,7 @@
                         }).catch(error => {
                             parseError({error: error, vm: this})
                         })
-                    }else if(this.registerForm.type === '烟花爆竹零售经营(长期)' && this.businessLicense.length !== 0 && this.idCard.length !== 0 && this.legalPerson.length !== 0 && this.insurance.length !== 0){
+                    }else if(this.registerForm.type === '烟花爆竹零售经营(长期)'){
                         this.businessLicense = this.businessLicense.map((item,index,arr) =>{
                             return item.raw
                         },this.businessLicense)
@@ -887,7 +922,7 @@
                         }).catch(error => {
                             parseError({error: error, vm: this})
                         })
-                    }else if(this.registerForm.type==='烟花爆竹零售经营(短期)' && this.idCard.length !== 0 && this.legalPerson.length !== 0 && this.insurance.length !== 0){
+                    }else if(this.registerForm.type==='烟花爆竹零售经营(短期)'){
                         this.businessLicense = this.businessLicense.map((item,index,arr) =>{
                             return item.raw
                         },this.businessLicense)
@@ -1092,10 +1127,10 @@
                                 message: '终端机用户名已存在',
                             })
                         }else{
-                            this.$message({
-                                type:'success',
-                                message:'终端机用户名可以使用'
-                            })
+                            // this.$message({
+                            //     type:'success',
+                            //     message:'终端机用户名可以使用'
+                            // })
                             this.showNumber = false
                         }
                     }else{

--
Gitblit v1.9.2