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)文章
vue之el-upload使用FormData多文件同時上傳問題
這篇文章主要介紹了vue之el-upload使用FormData多文件同時上傳問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-05-05Vue配置marked鏈接添加target="_blank"的方法
這篇文章主要介紹了Vue配置marked鏈接添加target="_blank"的方法,文中給大家提到了vue實現(xiàn)類似target="_blank"打開新窗口的代碼,感興趣的朋友參考下吧2019-07-07基于Vue2實現(xiàn)簡易的省市區(qū)縣三級聯(lián)動組件效果
這是一個基于Vue2的簡易省市區(qū)縣三級聯(lián)動組件,可以控制只顯示省級或只顯示省市兩級,可設(shè)置默認值等。提供原始省市縣代碼和名稱數(shù)據(jù),適用于各種有關(guān)城市區(qū)縣的應(yīng)用。需要的朋友可以參考下2018-11-11