vue?+?element-plus自定義表單驗證(修改密碼業(yè)務(wù))的示例
寫一個vue組件Password.vue
沒有表單驗證只有3個表單項
<template>
<div>
<el-form>
<el-form-item label="舊密碼">
<el-input></el-input>
</el-form-item>
<el-form-item label="新密碼">
<el-input></el-input>
</el-form-item>
<el-form-item label="驗證密碼">
<el-input></el-input>
</el-form-item>
</el-form>
</div>
</template>
<script setup>
</script>路由省略

給這個表單綁定一個對象
<template>
<div>
<el-form :="data.form">
<el-form-item label="舊密碼" v-model="data.form.oldPassword">
<el-input ></el-input>
</el-form-item>
<el-form-item label="新密碼" v-model="data.form.password">
<el-input></el-input>
</el-form-item>
<el-form-item label="驗證密碼" v-model="data.form.confirmPassword">
<el-input></el-input>
</el-form-item>
</el-form>
</div>
</template>
<script setup>
import {reactive} from "vue";
const data = reactive({
form: {
oldPassword: '',
password: '',
confirmPassword: ''
}
})
</script>給表單綁定規(guī)則注意表單項一定要有prop屬性 屬性值對應(yīng) data.rules里的屬性
<template>
<div>
<el-form :model="data.form" :rules="data.rules">
<el-form-item label="舊密碼" prop="oldPassword" >
<el-input v-model="data.form.oldPassword"></el-input>
</el-form-item>
<el-form-item label="新密碼" prop="password">
<el-input v-model="data.form.password"></el-input>
</el-form-item>
<el-form-item label="驗證密碼" >
<el-input v-model="data.form.confirmPassword"></el-input>
</el-form-item>
</el-form>
</div>
</template>
<script setup>
import {reactive} from "vue";
const data = reactive({
form: {
oldPassword: '',
password: '',
confirmPassword: ''
}
,
rules: {
oldPassword: [
{ required: true, message: '請輸入舊密碼', trigger: 'blur' },
{ min: 6, max: 32, message: '長度在 6 到 32 個字符', trigger: 'blur' }
],
password: [
{ required: true, message: '請輸入新密碼', trigger: 'blur' },
{ min: 6, max: 32, message: '長度在 6 到 32個字符', trigger: 'blur' }
]
}
})
</script>
添加自定義規(guī)則注意規(guī)則有優(yōu)先級的
<template>
<div>
<el-form :model="data.form" :rules="data.rules">
<el-form-item label="舊密碼" prop="oldPassword" >
<el-input v-model="data.form.oldPassword"></el-input>
</el-form-item>
<el-form-item label="新密碼" prop="password">
<el-input v-model="data.form.password"></el-input>
</el-form-item>
<el-form-item label="驗證密碼" prop="confirmPassword">
<el-input v-model="data.form.confirmPassword"></el-input>
</el-form-item>
</el-form>
</div>
</template>
<script setup>
import {reactive} from "vue";
const validatePass1 = (rule, value, callback) => {
if (value === '') {
callback(new Error('請輸入新密碼'));
} else if (value !== '123') {
callback(new Error('舊密碼錯誤'));
}else{
callback();
}
}
const validatePass2 = (rule, value, callback) => {
if (value === '') {
callback(new Error('請再次輸入新密碼'));
} else if (value !== data.form.password) {
callback(new Error('兩次輸入密碼不一致!'));
} else {
callback();
}
}
const data = reactive({
form: {
oldPassword: '',
password: '',
confirmPassword: ''
}
,
rules: {
oldPassword: [
{ required: true, message: '請輸入舊密碼', trigger: 'blur' },
{validator: validatePass1, trigger: 'blur'}
],
password: [
{ required: true, message: '請輸入新密碼', trigger: 'blur' },
{ min: 6, max: 32, message: '長度在 6 到 32個字符', trigger: 'blur' }
],
confirmPassword: [
{ required: true, message: '請再次輸入新密碼', trigger: 'blur' },
{ validator: validatePass2, trigger: 'blur' }
]
}
})
</script>
到此這篇關(guān)于vue + element-plus自定義表單驗證(修改密碼業(yè)務(wù))的文章就介紹到這了,更多相關(guān)vue element-plus表單驗證內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Vue3+TypeScript實現(xiàn)中介者模式的詳細(xì)過程
在Vue3+TypeScript項目中,它適合組件通信、事件管理或復(fù)雜UI交互,本文給大家介紹Vue3+TypeScript實現(xiàn)中介者模式,感興趣的朋友一起看看吧2025-06-06
vue項目配置 webpack-obfuscator 進行代碼加密混淆的實現(xiàn)
這篇文章主要介紹了vue項目配置 webpack-obfuscator 進行代碼加密混淆,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-02-02
Vue.js監(jiān)聽select2的值改變進行查詢方式
這篇文章主要介紹了Vue.js監(jiān)聽select2的值改變進行查詢方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-04-04

