From e52fe71fb9c6dd82f996a9db07b2bd765c27f09b Mon Sep 17 00:00:00 2001
From: 马宇豪 <978517621@qq.com>
Date: 星期二, 21 一月 2025 16:36:58 +0800
Subject: [PATCH] 添加校验
---
src/views/usermng/product.vue | 4 ++--
src/views/login/register.vue | 38 ++++++++++++++++++++++++++++++--------
src/utils/validate.js | 11 +++++++++++
3 files changed, 43 insertions(+), 10 deletions(-)
diff --git a/src/utils/validate.js b/src/utils/validate.js
index af3aa08..87863a7 100644
--- a/src/utils/validate.js
+++ b/src/utils/validate.js
@@ -41,6 +41,17 @@
return reg.test(str)
}
+export function validEnterNumber(str) {
+ const reg = /^[A-Za-z0-9]{2,30}$/
+ return reg.test(str)
+}
+
+export function verifyPwd(str) {
+ // false: 强密码不正确
+ const reg = /^(?![a-zA-Z]+$)(?!\d+$)(?![!@#$%^&\.*]+$)(?![a-zA-Z\d]+$)(?![a-zA-Z!@#$%^&\.*]+$)(?![\d!@#$%^&\.*]+$)[a-zA-Z\d!@#$%^&\.*\-_]{6,16}$/
+ return reg.test(str)
+}
+
/**
* validate email
* @param email
diff --git a/src/views/login/register.vue b/src/views/login/register.vue
index 13e8778..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,7 +481,7 @@
import {isNameExist, isNumberExist, register} from "../../api/login";
import {getCityListData, getProvinceListData} from "../../api/area";
import {parseError} from "../../utils/messageDialog";
-import {validEnterName} from "../../utils/validate";
+import {validEnterName, validEnterNumber, verifyPwd} from "../../utils/validate";
export default {
name: "register",
@@ -492,6 +492,28 @@
}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()
}
@@ -539,10 +561,10 @@
{ 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' },
@@ -1105,10 +1127,10 @@
message: '终端机用户名已存在',
})
}else{
- this.$message({
- type:'success',
- message:'终端机用户名可以使用'
- })
+ // this.$message({
+ // type:'success',
+ // message:'终端机用户名可以使用'
+ // })
this.showNumber = false
}
}else{
diff --git a/src/views/usermng/product.vue b/src/views/usermng/product.vue
index c200030..132f30a 100644
--- a/src/views/usermng/product.vue
+++ b/src/views/usermng/product.vue
@@ -37,7 +37,7 @@
</el-option>
</el-select>
<el-button v-if="getBtnPermission('add')" class="filter-item" style="margin-left: 10px;" type="primary"
- icon="el-icon-plus" @click="showCreateHandle">旧系统信息录入
+ icon="el-icon-plus" @click="showCreateHandle">万能码信息录入
</el-button>
<el-upload v-if="userType === 1"
class="filter-item"
@@ -51,7 +51,7 @@
:on-success="onSuccessHandler"
:on-error="onErrorHandler"
:auto-upload="true">
- <el-dropdown @command="handleCommand" split-button trigger="hover" type="primary" style="margin-left: 10px;" icon="el-icon-plus" :disabled="uploadBtnControl">旧系统信息导入
+ <el-dropdown @command="handleCommand" split-button trigger="hover" type="primary" style="margin-left: 10px;" icon="el-icon-plus" :disabled="uploadBtnControl">万能码信息导入
<el-button type="primary" slot="trigger" :disabled="uploadBtnControl"></el-button>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item icon="el-icon-plus" command="download" >下载模板</el-dropdown-item>
--
Gitblit v1.9.2