vue+elementUI用戶修改密碼的前端驗(yàn)證規(guī)則
用戶登錄后修改密碼,密碼需要一定的驗(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)文章希望大家以后多多支持腳本之家!
- vue+elementUI動(dòng)態(tài)增加表單項(xiàng)并添加驗(yàn)證的代碼詳解
- vue+ElementUI 關(guān)閉對(duì)話框清空驗(yàn)證,清除form表單的操作
- vue elementUI 表單嵌套驗(yàn)證的實(shí)例代碼
- vue elementui el-form rules動(dòng)態(tài)驗(yàn)證的實(shí)例代碼詳解
- vue+elementUI實(shí)現(xiàn)表單和圖片上傳及驗(yàn)證功能示例
- vue elementui form表單驗(yàn)證的實(shí)現(xiàn)
- Vue ElementUI之Form表單驗(yàn)證遇到的問題
相關(guān)文章
vue2.x版本中computed和watch的使用及關(guān)聯(lián)和區(qū)別
這篇文章主要介紹了vue2.x版本中computed和watch的使用及關(guān)聯(lián)和區(qū)別,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,需要的小伙伴可以參考一下2022-07-07vue執(zhí)行配置選項(xiàng)npm?run?serve的本質(zhì)圖文詳解
本地開發(fā)一般通過執(zhí)行npm run serve命令來啟動(dòng)項(xiàng)目,那這行命令到底存在什么魔法?下面這篇文章主要給大家介紹了關(guān)于vue執(zhí)行配置選項(xiàng)npm?run?serve的本質(zhì)的相關(guān)資料,需要的朋友可以參考下2023-05-05Nginx部署Vue.js前端項(xiàng)目的實(shí)現(xiàn)
本文主要介紹了Nginx部署Vue.js前端項(xiàng)目指南,幫助您實(shí)現(xiàn)從開發(fā)到線上部署的平滑過渡,確保用戶能夠獲得最佳的訪問體驗(yàn),感興趣的可以了解一下2024-09-09解決vue中數(shù)據(jù)更新視圖不更新問題this.$set()方法
這篇文章主要介紹了解決vue中數(shù)據(jù)更新視圖不更新問題this.$set()方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-06-06Vue v-bind動(dòng)態(tài)綁定class實(shí)例方法
在本篇文章里小編給大家分享的是一篇關(guān)于Vue—v-bind動(dòng)態(tài)綁定class的知識(shí)點(diǎn)內(nèi)容,有需要的朋友們可以參考下。2020-01-01Vue3.0使用ref和reactive來創(chuàng)建響應(yīng)式數(shù)據(jù)
ref?和?reactive?是?Composition?API?中用來創(chuàng)建響應(yīng)式數(shù)據(jù)的兩個(gè)核心函數(shù),在本篇文章中,我們將詳細(xì)講解如何使用?ref?和?reactive?來創(chuàng)建響應(yīng)式數(shù)據(jù),并展示它們之間的區(qū)別和使用場(chǎng)景,需要的朋友可以參考下2024-11-11vue vantUI實(shí)現(xiàn)文件(圖片、文檔、視頻、音頻)上傳(多文件)
這篇文章主要介紹了vue vantUI實(shí)現(xiàn)文件(圖片、文檔、視頻、音頻)上傳(多文件),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10如何隱藏element-ui中tree懶加載葉子節(jié)點(diǎn)checkbox(分頁懶加載效果)
這篇文章主要介紹了如何隱藏element-ui中tree懶加載葉子節(jié)點(diǎn)checkbox(分頁懶加載效果),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07如何在Vue3中創(chuàng)建動(dòng)態(tài)主題切換功能
在Vue3中實(shí)現(xiàn)動(dòng)態(tài)主題切換功能,通過明亮和暗色主題的選擇,提供個(gè)性化使用體驗(yàn),使用setup語法糖優(yōu)化代碼,通過創(chuàng)建組件和響應(yīng)式變量來進(jìn)行主題切換,并動(dòng)態(tài)加載CSS文件2024-09-09