vue+elementUI用戶修改密碼的前端驗證規(guī)則
用戶登錄后修改密碼,密碼需要一定的驗證規(guī)則。舊密碼后端驗證是否正確;前端驗證新密碼的規(guī)范性,新密碼規(guī)范為:6-16位,至少含數(shù)字/字母/特殊字符中的兩種;確認(rè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驗證規(guī)則
passRules: {
oldPassword:[{required: true, message: '請輸入舊密碼', trigger: 'blur'}],
newPassword:[{validator: this.validNewPass, trigger: 'blur'}],
confirmPassword:[{validator: this.validConfirmPass, trigger: 'blur'}]
}驗證函數(shù)
/**
* 驗證新密碼
*/
validNewPass(rule, value, callback) {
let reg = /(?!^(\d+|[a-zA-Z]+|[~!@#$%^&*?]+)$)^[\w~!@#$%^&*?]{6,16}$/
if (value === '') {
callback(new Error('請輸入新密碼'));
} else if (!reg.test(value)) {
callback(new Error('6-16位,至少含數(shù)字/字母/特殊字符中的兩種'))
} else {
if (this.passForm.confirmPassword !== '') {
this.$refs.passRef.validateField('confirmPassword');
}
callback();
}
},
/**
* 驗證確認(rèn)密碼
*/
validConfirmPass(rule, value, callback) {
if (value === '') {
callback(new Error('請再次輸入密碼'));
} else if (value !== this.passForm.newPassword) {
callback(new Error('兩次輸入密碼不一致!'));
} else {
callback();
}
}彈窗關(guā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;
}
});
}這就是修改密碼的全部流程啦。。。。有問題評論區(qū)答復(fù)。。。。能解決的就答復(fù),不能解決的自己百度哈。。。。
到此這篇關(guān)于vue+elementUI用戶修改密碼的前端驗證規(guī)則的文章就介紹到這了,更多相關(guān)vue elementUI密碼驗證內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解vue-cli與webpack結(jié)合如何處理靜態(tài)資源
本篇文章主要介紹了詳解vue-cli與webpack結(jié)合如何處理靜態(tài)資源,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-09-09
Vue實現(xiàn)網(wǎng)頁首屏加載動畫及頁面內(nèi)請求數(shù)據(jù)加載loading效果
Loading加載動畫組件看起來很簡單不重要,實際上它是保證用戶留存的關(guān)鍵一環(huán),下面這篇文章主要給大家介紹了關(guān)于Vue實現(xiàn)網(wǎng)頁首屏加載動畫及頁面內(nèi)請求數(shù)據(jù)加載loading效果的相關(guān)資料,需要的朋友可以參考下2023-02-02
Vue Element UI + OSS實現(xiàn)上傳文件功能
這篇文章主要為大家詳細(xì)介紹了Vue Element UI + OSS實現(xiàn)上傳文件功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-07-07
使用vue.js在頁面內(nèi)組件監(jiān)聽scroll事件的方法
今天小編就為大家分享一篇使用vue.js在頁面內(nèi)組件監(jiān)聽scroll事件的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-09-09

