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