Vue3管理系统-路由设置+表单校验

server/2024/9/24 7:42:09/

一、配置路由规则

1.在views 下创建文件夹分类,搭好架子

2.配置路由规则

router下Index.js 

javascript">import { createRouter, createWebHistory } from 'vue-router'const router = createRouter({history: createWebHistory(import.meta.env.BASE_URL),routes: [//一级路由//这里可以采取路由懒加载的方式() => import('@/views/login/loginPage.vue'){ path: '/login', component: () => import('@/views/login/loginPage.vue') }, //登录页{path: '/', //重定向到二级路由//初始化界面component: () => import('@/views/layout/Layout.vue'),redirect: '/article/manage',children: [//二级路由{path: '/article/manage',component: () => import('@/views/article/ArticleManage.vue')}, //文章管理{path: '/article/channel',component: () => import('@/views/article/ArticleChannel.vue')}, //频道管理{path: '/user/profile',component: () => import('@/views/user/user.vue')}, //个人中心{path: '/user/avatar',component: () => import('@/views/user/UserAvatar.vue')}, //更换头像{path: '/user/password',component: () => import('@/views/user/UserPassword.vue')} //重置密码]}]
})export default router

二、element-plus表单校验

javascript">  <el-formref="ruleFormRef"style="max-width: 600px":model="ruleForm"//用来生成对象,收集整个from的数据:rules="rules"//配置校验规则label-width="auto"class="demo-ruleForm":size="formSize"status-icon><el-form-item label="Activity name" prop="name">//配置当前生效的是name规则<el-input v-model="ruleForm.name" />//和from的子属性双向绑定

1、4个步骤:重要!!!

1.查看接口文档,确定参数

2.编写from对象储存参数和rules中的规则,与rules中的规则一一对应

javascript">import { ref } from 'vue'
const isRegister = ref(true)
//用于提交的from数据对象
const formModel = ref({username: '',password: '',password1: ''// code: '',
})
//用于验证的rules对象,校验规则
const rules = ref({username: [{ required: true, message: '请输入用户名', trigger: 'blur' },{ min: 5, max: 10, message: '用户名必须是5-10位的字符', trigger: 'blur' }],password: [{ required: true, message: '请输入密码', trigger: 'blur' },{pattern: /^\S{6,15}$/,message: '密码必须是6-15位的非空字符',trigger: 'blur'}]
})

这里还有一个在下面,自定义校验:validator:

javascript">  repassword: [{ required: true, message: '请再次输入密码', trigger: 'blur' },{pattern: /^\S{6,15}$/,message: '密码必须是6-15的非空字符',trigger: 'blur'},{validator: (rule, value, callback) => {if (value !== formModel.value.password) {callback(new Error('两次输入密码不一致!'))} else {callback()}},trigger: 'blur'}]

3.给:model 属性绑定 form 数据对象注意:这个是最开始的确定对应表单和规则

javascript">   <el-form :model="formModel" :rules="rules" ref="form" size="large" autocomplete="off" v-if="isRegister"><el-form-item><h1>注册</h1></el-form-item>

4.绑定 form 数据对象的子属性(双向数据绑定)+prop 绑定校验规则

javascript"><el-inputv-model="formModel.username"//对应的是name表单:prefix-icon="User"placeholder="请输入用户名"
></el-input>
... 
(其他两个也要绑定)

这两步一般一起进行

javascript"><el-form-item prop="username">//对应规则<el-inputv-model="formModel.username":prefix-icon="User"placeholder="请输入用户名"></el-input>
</el-form-item>
... 
(其他两个也要绑定prop)

2.点击注册进行预校验

给注册绑定register函数

javascript">const form = ref()const register = async () => {await form.value.validate()console.log('开始注册请求')
}》》》》
<el-form ref="form"><el-button@click="register"class="button"type="primary"auto-insert-space
>注册
</el-button>


http://www.ppmy.cn/server/27956.html

相关文章

APScheduler定时器使用:django中使用apscheduler,使用mysql做存储后端

一、基本环境 python版本&#xff1a;3.8.5 APScheduler3.10.4 Django3.2.7 djangorestframework3.15.1 SQLAlchemy2.0.29 PyMySQL1.1.0二、django基本设置 2.1、新增一个app 该app用来写apscheduler相关的代码 python manage.py startapp gs_scheduler 2.2、修改配置文件s…

selinux 基础知识

目录 概念 作用 SELinux与传统的权限区别 SELinux工作原理 名词解释 主体&#xff08;Subject&#xff09; 目标&#xff08;Object&#xff09; 策略&#xff08;Policy&#xff09; 安全上下文&#xff08;Security Context&#xff09; 文件安全上下文查看 先启用…

43. UE5 RPG 实现敌人血量显示条

在上一篇文章中&#xff0c;我们实现了火球术伤害功能&#xff0c;在火球击中敌方目标&#xff0c;可以降低敌人20的血量&#xff0c;这个值现在是固定的&#xff0c;后面我们会修改火球的伤害设置。接着&#xff0c;我们也测试了功能是实现的&#xff0c;但是在正常的游玩过程…

LeetCode 213 —— 打家劫舍 II

阅读目录 1. 题目2. 解题思路3. 代码实现 1. 题目 2. 解题思路 此题是 LeetCode 198—— 打家劫舍 的升级版&#xff0c;多了一个首尾相连的设定。 因为首尾相连&#xff0c;所以第一个房屋和最后一个房屋只能偷窃其中一个。 所以&#xff0c;第一种方案就是不偷窃最后一个房…

机器学习每周挑战——百思买数据

最近由于比赛&#xff0c;断更了好久&#xff0c;从五一开始不会再断更了。这个每周挑战我分析的较为简单&#xff0c;有兴趣的可以将数据集下载下来试着分析一下&#xff0c;又不会的我们可以讨论一下。 这是数据集&#xff1a; import pandas as pd import numpy as np impo…

帮助 Python 用户构建 CLI 界面:直观易写、简单高效 | 开源日报 No.240

tiangolo/typer Stars: 13.7k License: MIT typer 是一个构建出色命令行界面&#xff08;CLI&#xff09;的库&#xff0c;基于 Python 类型提示。它旨在让开发者轻松创建用户喜欢使用的 CLI 应用程序。其主要功能和核心优势包括&#xff1a; 直观易写&#xff1a;强大编辑器…

Spring Data JPA数据批量插入、批量更新真的用对了吗

Spring Data JPA系列 1、SpringBoot集成JPA及基本使用 2、Spring Data JPA Criteria查询、部分字段查询 3、Spring Data JPA数据批量插入、批量更新真的用对了吗 前言 在前两篇文章已经介绍过&#xff0c;在使用Spring Data JPA时&#xff0c;DAO层的Respository通过继承J…

unix 命令总结

一、unix 命令总结 1.文件传输 rz/sz to transfer files sz filename // remote host 下载到本地 rz // 本地上传得到host 2.shell 后台运行&#xff0c;进程独立存在&#xff0c;不属于当前终端的子进程 https://www.cnblogs.com/chinas/p/7130378.html 3. 执行.…