欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vue+elementUI用戶修改密碼的前端驗(yàn)證規(guī)則

 更新時(shí)間:2024年03月12日 10:37:16   作者:zj_zjk_sjz  
用戶登錄后修改密碼,密碼需要一定的驗(yàn)證規(guī)則,這篇文章主要介紹了vue+elementUI用戶修改密碼的前端驗(yàn)證,需要的朋友可以參考下

用戶登錄后修改密碼,密碼需要一定的驗(yàn)證規(guī)則。舊密碼后端驗(yàn)證是否正確;前端驗(yàn)證新密碼的規(guī)范性,新密碼規(guī)范為:6-16位,至少含數(shù)字/字母/特殊字符中的兩種;確認(rèn)密碼只需要驗(yàn)證與新密碼是否一致;

彈窗結(jié)構(gòu)

<el-dialog title="修改密碼"
           :visible.sync="passDlgVisible"
           @close="passDlgClose"
           width="400px">
    <el-form :model="passForm"
             ref="passRef"
             :rules="passRules"
             hide-required-asterisk
             label-width="70px"
             size="small">
        <el-form-item label="舊密碼" prop="oldPassword">
            <el-input v-model="passForm.oldPassword" show-password></el-input>
        </el-form-item>
        <el-form-item label="新密碼" prop="newPassword">
            <el-input v-model="passForm.newPassword" show-password></el-input>
        </el-form-item>
        <el-form-item label="確認(rèn)密碼" prop="confirmPassword">
            <el-input v-model="passForm.confirmPassword" show-password></el-input>
        </el-form-item>
    </el-form>
    <span slot="footer">
            <el-button @click="passDlgVisible=false" size="small">取消</el-button>
            <el-button @click="passSave" type="primary" size="small">確認(rèn)</el-button>
        </span>
</el-dialog>

form驗(yàn)證規(guī)則

passRules: {
	oldPassword:[{required: true, message: '請(qǐng)輸入舊密碼', trigger: 'blur'}],
    newPassword:[{validator: this.validNewPass, trigger: 'blur'}],
    confirmPassword:[{validator: this.validConfirmPass, trigger: 'blur'}]
}

驗(yàn)證函數(shù)

/**
 * 驗(yàn)證新密碼
 */
validNewPass(rule, value, callback) {
    let reg = /(?!^(\d+|[a-zA-Z]+|[~!@#$%^&*?]+)$)^[\w~!@#$%^&*?]{6,16}$/
    if (value === '') {
        callback(new Error('請(qǐng)輸入新密碼'));
    } else if (!reg.test(value)) {
        callback(new Error('6-16位,至少含數(shù)字/字母/特殊字符中的兩種'))
    } else {
        if (this.passForm.confirmPassword !== '') {
            this.$refs.passRef.validateField('confirmPassword');
        }
        callback();
    }
},
/**
 * 驗(yàn)證確認(rèn)密碼
 */
validConfirmPass(rule, value, callback) {
    if (value === '') {
        callback(new Error('請(qǐng)?jiān)俅屋斎朊艽a'));
    } else if (value !== this.passForm.newPassword) {
        callback(new Error('兩次輸入密碼不一致!'));
    } else {
        callback();
    }
}

彈窗關(guān)閉后清空字段和驗(yàn)證

/**
 * 彈窗關(guān)閉事件
 */
passDlgClose() {
    this.passForm = {
        oldPassword: '',
        newPassword: '',
        confirmPassword: ''
    }
    this.$refs.passRef.clearValidate();
}

提交表單

passSave() {
    this.$refs.passRef.validate((valid) => {
        if (valid) {
            this.passForm.userName = this.userName
            api.user.editPass(this.passForm).then(res => {
                this.passDlgVisible = false;
            })
        } else {
            return false;
        }
    });
}

這就是修改密碼的全部流程啦。。。。有問題評(píng)論區(qū)答復(fù)。。。。能解決的就答復(fù),不能解決的自己百度哈。。。。

到此這篇關(guān)于vue+elementUI用戶修改密碼的前端驗(yàn)證規(guī)則的文章就介紹到這了,更多相關(guān)vue elementUI密碼驗(yàn)證內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論