马宇豪
2025-01-21 e52fe71fb9c6dd82f996a9db07b2bd765c27f09b
添加校验
已修改3个文件
53 ■■■■ 文件已修改
src/utils/validate.js 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/login/register.vue 38 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/usermng/product.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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
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{
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>