vue3自定義確認(rèn)密碼匹配驗(yàn)證規(guī)則的操作代碼
vue3自定義確認(rèn)密碼匹配驗(yàn)證規(guī)則

// 自定義確認(rèn)密碼匹配驗(yàn)證規(guī)則
const matchPassword = (rules:any, value:any, callback:any) => {
if (value != addData.payPwd) {
callback(new Error('兩次密碼輸入不一致!'))
} else {
callback()
}
}
const rules = reactive({
payPwd: [
{ required: true, message: "請(qǐng)輸入支付密碼", trigger: "blur" },
{
pattern: /^\d+$/,
message: "只能輸入6位數(shù)字",
trigger: "blur",
},
],
repeatedPwd: [
{ required: true, message: "請(qǐng)輸入支付密碼", trigger: "blur" },
{
pattern: /^\d+$/,
message: "只能輸入6位數(shù)字",
trigger: "blur",
},
{validator: matchPassword, trigger: 'blur'}
],
});
<el-dialog
v-model="AddDialog"
title="新增會(huì)員"
width="700px"
@close="closeDialog"
>
<el-form
ref="categoryFormRef"
:model="addData"
:rules="rules"
label-width="120px"
>
<el-form-item label="支付密碼" prop="payPwd">
<el-input
v-model="addData.payPwd"
placeholder="請(qǐng)輸入支付密碼"
show-password
maxLength="6"
/>
</el-form-item>
<el-form-item label="確認(rèn)支付密碼" prop="repeatedPwd">
<el-input
v-model="addData.repeatedPwd"
placeholder="請(qǐng)輸入支付密碼"
show-password
maxLength="6"
/>
</el-form-item>
</el-form>
<template #footer>
<div class="dialog-footer">
<el-button type="primary" @click="handleAdd">確 定</el-button>
<el-button @click="closeDialog">取 消</el-button>
</div>
</template>
</el-dialog>擴(kuò)展:
vue中表單使用自定義驗(yàn)證規(guī)則
vue中表單使用自定義驗(yàn)證規(guī)則(以2次輸入密碼為例)
先安裝elementUI
yarn add element-ui
mian.js中引入elementUI
import ElementUI from 'element-ui'; import 'element-ui/lib/theme-chalk/index.css'; Vue.use(ElementUI);
創(chuàng)建表單
<el-form ref="form" :model="form" :rules="rules">
<el-form-item label="新密碼" prop="newPwd">
<el-input type="password" v-model="form.newPwd"></el-input>
</el-form-item>
<el-form-item label="確認(rèn)密碼" prop="confirmPwd">
<el-input type="password" v-model="form.confirmPwd"></el-input>
</el-form-item>
<el-form-item>
<el-button @click="confirmBtn">確認(rèn)</el-button>
<el-button @click="resetBtn">重置</el-button>
</el-form-item>
</el-form>定義數(shù)據(jù)及驗(yàn)證規(guī)則
data() {
var checkPwd = (rule, value, callback) => {
if (value === this.form.newPwd) {
callback();
} else {
callback(new Error('兩次輸入密碼不一致!'));
}
}
return {
form: {
newPwd: '',
confirmPwd: ''
},
rules: {
newPwd: [
{ required: true, message: '請(qǐng)輸入密碼', trigger: 'blur' },
{ min: 6, max: 12, message: '長(zhǎng)度在 6 到 12 個(gè)字符', trigger: 'blur' }
],
confirmPwd: [
{ required: true, message: '請(qǐng)?jiān)俅屋斎朊艽a', trigger: 'blur' },
{ min: 6, max: 12, message: '長(zhǎng)度在 6 到 12 個(gè)字符', trigger: 'blur' },
{ validator: checkPwd, trigger: 'blur' }
]
}
}
},綁定操作按鈕
methods: {
//確認(rèn)按鈕
confirmBtn() {
this.$refs.form.validate(res => {
if (res) {
console.log('修改成功');
} else {
console.log('修改失敗');
return false;
}
});
},
//重置按鈕
resetBtn() {
this.$refs.form.resetFields();
}
}到此這篇關(guān)于vue3自定義確認(rèn)密碼匹配驗(yàn)證規(guī)則的文章就介紹到這了,更多相關(guān)vue3自定義密碼驗(yàn)證規(guī)則內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
ant-design-vue導(dǎo)航菜單a-menu的使用解讀
這篇文章主要介紹了ant-design-vue導(dǎo)航菜單a-menu的使用解讀,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-10-10
vue中利用iscroll.js解決pc端滾動(dòng)問(wèn)題
這篇文章主要介紹了vue中利用iscroll.js解決pc端滾動(dòng)問(wèn)題,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-02-02
Taro+vue3?實(shí)現(xiàn)電影切換列表功能
我們做類似于貓眼電影的小程序或者H5?的時(shí)候?我們會(huì)做到那種?左右滑動(dòng)的電影列表,這種列表一般帶有電影場(chǎng)次,我這個(gè)項(xiàng)目是基于Taro?+vue3?+ts?來(lái)寫(xiě)的用的組件庫(kù)也是京東的nut-ui以上的代碼和組件也有的是我二次封裝的組件,對(duì)vue3電影切換列表知識(shí),感興趣的朋友一起看看吧2024-01-01
Vue2批量生成二維碼并下載的實(shí)現(xiàn)步驟
這篇文章主要介紹了在Vue2中使用qrcode、jszip和file-saver庫(kù)批量生成二維碼并打包下載的實(shí)現(xiàn)方法,通過(guò)異步處理和Promise.all確保完成,優(yōu)化建議包括分批次處理和文件名規(guī)范,需要的朋友可以參考下2025-06-06
element tree樹(shù)形組件回顯數(shù)據(jù)問(wèn)題解決
本文主要介紹了element tree樹(shù)形組件回顯數(shù)據(jù)問(wèn)題解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08
vue+element?upload上傳帶參數(shù)的實(shí)例
這篇文章主要介紹了vue+element?upload上傳帶參數(shù)的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-04-04
vue項(xiàng)目設(shè)置打包后的靜態(tài)文件訪問(wèn)路徑
這篇文章主要介紹了vue項(xiàng)目設(shè)置打包后的靜態(tài)文件訪問(wèn)路徑,vue項(xiàng)目的最終項(xiàng)目文件需要經(jīng)過(guò)打包輸出,靜態(tài)文件的訪問(wèn)路徑需要在vue.config.js文件中設(shè)置,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下2024-02-02
Vue中使用echarts實(shí)現(xiàn)繪制人體動(dòng)態(tài)圖
這篇文章主要為大家詳細(xì)介紹了Vue中如何使用echarts實(shí)現(xiàn)繪制人體動(dòng)態(tài)圖,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-03-03

