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

給這個(gè)表單綁定一個(gè)對象
<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="驗(yàn)證密碼" 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ī)則注意表單項(xiàng)一定要有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="驗(yàn)證密碼" >
<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 個(gè)字符', trigger: 'blur' }
],
password: [
{ required: true, message: '請輸入新密碼', trigger: 'blur' },
{ min: 6, max: 32, message: '長度在 6 到 32個(gè)字符', 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="驗(yàn)證密碼" 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('舊密碼錯(cuò)誤'));
}else{
callback();
}
}
const validatePass2 = (rule, value, callback) => {
if (value === '') {
callback(new Error('請?jiān)俅屋斎胄旅艽a'));
} 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個(gè)字符', trigger: 'blur' }
],
confirmPassword: [
{ required: true, message: '請?jiān)俅屋斎胄旅艽a', trigger: 'blur' },
{ validator: validatePass2, trigger: 'blur' }
]
}
})
</script>
到此這篇關(guān)于vue + element-plus自定義表單驗(yàn)證(修改密碼業(yè)務(wù))的文章就介紹到這了,更多相關(guān)vue element-plus表單驗(yàn)證內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Vue前端開發(fā)之實(shí)現(xiàn)交錯(cuò)過渡動(dòng)畫效果
這篇文章主要為大家詳細(xì)介紹了如何通過Vue實(shí)現(xiàn)交錯(cuò)過渡動(dòng)畫效果,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-11-11
vue之el-upload使用FormData多文件同時(shí)上傳問題
這篇文章主要介紹了vue之el-upload使用FormData多文件同時(shí)上傳問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-05-05
解決微信瀏覽器緩存站點(diǎn)入口文件(IIS部署Vue項(xiàng)目)
這篇文章主要介紹了解決微信瀏覽器緩存站點(diǎn)入口文件(IIS部署Vue項(xiàng)目),本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-06-06
Vue配置marked鏈接添加target="_blank"的方法
這篇文章主要介紹了Vue配置marked鏈接添加target="_blank"的方法,文中給大家提到了vue實(shí)現(xiàn)類似target="_blank"打開新窗口的代碼,感興趣的朋友參考下吧2019-07-07
基于Vue2實(shí)現(xiàn)簡易的省市區(qū)縣三級聯(lián)動(dòng)組件效果
這是一個(gè)基于Vue2的簡易省市區(qū)縣三級聯(lián)動(dòng)組件,可以控制只顯示省級或只顯示省市兩級,可設(shè)置默認(rèn)值等。提供原始省市縣代碼和名稱數(shù)據(jù),適用于各種有關(guān)城市區(qū)縣的應(yīng)用。需要的朋友可以參考下2018-11-11
使用electron打包Vue前端項(xiàng)目的詳細(xì)流程
這篇文章主要介紹了使用electron打包Vue前端項(xiàng)目的詳細(xì)流程,文中通過圖文結(jié)合的方式給大家介紹的非常詳細(xì),對大家學(xué)習(xí)electron打包Vue有一定的幫助,需要的朋友可以參考下2024-04-04
Vue3?KeepAlive實(shí)現(xiàn)原理解析
KeepAlive?是一個(gè)內(nèi)置組件,那封裝一個(gè)組件對于大家來說應(yīng)該不會有太大的困難,它的核心邏輯在于它的?render?函數(shù),它用?map?去記錄要緩存的組件,就是?[key,vnode]?的形式,這篇文章主要介紹了Vue3?KeepAlive實(shí)現(xiàn)原理,需要的朋友可以參考下2022-09-09

