vue + element-plus自定义表单验证(修改密码业务)的示例
写一个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>
给表单绑定规则注意表单项一定要有prop属性 属性值对应 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>
添加自定义规则注意规则有优先级的
<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>
上一篇:Node.js 数据库 CRUD 项目示例详解(完美解决方案)
栏 目:JavaScript
本文标题:vue + element-plus自定义表单验证(修改密码业务)的示例
本文地址:https://fushidao.cc/wangluobiancheng/23745.html
您可能感兴趣的文章
- 07-22JavaScript随机数生成各种技巧及实例代码
- 07-22Node.js 中的 Buffer缓冲区实例详解
- 07-22Node.js进行文件读取与复制的系统总结
- 07-22vue + element-plus自定义表单验证(修改密码业务)的示例
- 07-22Node.js 数据库 CRUD 项目示例详解(完美解决方案)
- 07-22vue实现自定义颜色选择器
- 07-22前端实现文件下载的4种常见方式与实战示例
- 07-22vue实现在线进制转换功能
- 07-22React中FormData的使用实例详解
- 07-22前端实现文本溢出展开和收起功能


阅读排行
推荐教程
- 04-23JavaScript Array实例方法flat的实现
- 04-23Vue3使用v-if指令进行条件渲染的实例代码
- 04-23THREE.JS使用TransformControls对模型拖拽的代码实例
- 07-21JavaScript判断数据类型的四种方式总结
- 07-22JavaScript随机数生成各种技巧及实例代码
- 04-23vue3+ts项目搭建的实现示例
- 07-21JavaScript检查变量类型的常用方法
- 07-21基于vue3与supabase系统认证机制详解
- 07-21JavaScript双问号操作符(??)的惊人用法总结大全
- 07-21JavaScript中if、else if、else和switch的语法、用法及注意事项