vue3-element-plus表单校验和多选表格table的基本使用

news2024/11/21 0:19:21

表单校验

<script setup>
import { ref } from "vue";
// 登录的表单数据(绑定到最外层的from标签上)
//里面的每个属性都与element-plus的表单标签进行双向绑定,具体可以看html代码
const loginForm = ref({
  username: "",
  password: "",
  loginpassword: "",
});
// 用户名校验(自定义校验,其中value为输入的数据)
const usernamevalidator = (rule, value, callback) => {
  const regMobile = /^[\w-]{4,16}$/;
  if (regMobile.test(value)) {
    return callback();
  }
  return callback(new Error("请输入4-16位数字或大小写字母或者字符"));
};
// 密码校验(自定义校验,其中value为输入的数据)
const passwordvalidator = (rule, value, callback) => {
  const regMobile =
    /^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\W_!@#$%^&*`~()-+=]+$)(?![a-z0-9]+$)(?![a-z\W_!@#$%^&*`~()-+=]+$)(?![0-9\W_!@#$%^&*`~()-+=]+$)[a-zA-Z0-9\W_!@#$%^&*`~()-+=]/;
  if (regMobile.test(value)) {
    return callback();
  }
  return callback(new Error("请输入数字或大小写字母或者字符任意三项即可"));
};
// 确认密码校验(自定义校验,其中value为输入的数据)
const loginpasswordvalidator = (rule, value, callback) => {
  if (loginForm.value.password === value) {
    return callback();
  }
  return callback(new Error("两次输入不一致"));
};
// 登录数据的校验规则(下面的每个属性就是针对每个表单元素的校验,在标签的prop属性绑定)
//validator为自定义校验,值为上面的自定义规则
const loginrules = ref({
  username: [
    { required: true, message: "账号不能为空", trigger: "blur" },
    { validator: usernamevalidator, trigger: "blur" },
  ],
  password: [
    { required: true, message: "密码不能为空", trigger: "blur" },
    { validator: passwordvalidator, trigger: "blur" },
  ],
  loginpassword: [
    { required: true, message: "确认密码不能为空", trigger: "blur" },
    { validator: loginpasswordvalidator, trigger: "blur" },
  ],
});
//这个baseForm为获取表单的对象ref值,用于对表单规则是否通过进行校验,baseForm绑定到form标签上,具体可以看下面的html代码
const baseForm = ref(null);
const submitForm = () => {
//对表单元素进行校验
  baseForm.value.validate((valid) => {
    if (!valid) {
    //校验失败
      console.log("请调整数据后再请求");
      return false;
    }
    // 校验成功
    console.log("123123", 123123);
  });
};
</script>

<template>
<!-- ref绑定到上面的属性,用于校验验证表单是否正确输入,model绑定的是整个表单数据,rules绑定的是最外层的总体的那个规则对象 -->
  <el-form
    ref="baseForm"
    :model="loginForm"
    :rules="loginrules"
  >
  ><!--label为显示的内容,prop为规则对象内的一个属性,v-model与表单数据双向绑定-->
    <el-form-item
      label="账号"
      prop="username"
    >
      <el-input v-model="loginForm.username" />
    </el-form-item>
    <el-form-item
      label="密码"
      prop="password"
    >
      <el-input
        v-model="loginForm.password"
        type="password"
        autocomplete="off"
      />
    </el-form-item>
    <el-form-item
      label="确认密码"
      prop="loginpassword"
    >
      <el-input
        v-model="loginForm.loginpassword"
        type="password"
        autocomplete="off"
      />
    </el-form-item>

    <el-form-item>
      <el-button
        type="primary"
        @click="submitForm(ruleFormRef)"
      >
        注册
      </el-button>
      <el-button>去登录</el-button>
    </el-form-item>
  </el-form>
</template>

<style scoped lang="scss"></style>

效果图

在这里插入图片描述
在这里插入图片描述

多选表格

<script setup>
import { ref, reactive } from "vue";
//需要绑定的数据
const defaultData = reactive({
  tableData: [
    {
      id: "01",
      name: "测试001",
    },
    {
      id: "02",
      name: "测试002",
    },
    {
      id: "03",
      name: "测试003",
    },
    {
      id: "04",
      name: "测试004",
    },
  ],
});
// 前面的多选框勾中会触发的事件(val为勾选的数据组成的数组)
const handleSelectionChange = (val) => {
  console.log("val", val);
};
</script>

<template>
  <!-- data绑定的是数据,selection-change代表勾选的数据,默认有个参数表示勾选上的数据组成的数组 -->
  <el-table
    :data="defaultData.tableData"
    style="width: 100%"
    @selection-change="handleSelectionChange"
  >
    <!-- 多选框 -->
    <el-table-column
      type="selection"
      width="55"
    />
    <!-- label绑定的是当前的标题, property绑定的是数据里面的某个需要展示的属性-->
    <el-table-column
      property="name"
      label="Name"
      width="120"
    />
    <el-table-column
      property="id"
      label="Address"
      >111</el-table-column
    >
      <!--如果需要写html元素需要添加插槽,通过scope.row获取数据然后可以展现到页面中-->
     <el-table-column label="Address">
      <template #default="scope"> {{ scope.row.Id }} </template>
    </el-table-column>
  </el-table>
</template>

<style scoped lang="scss"></style>

效果图

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/428197.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

双向可控硅详细用法说明

可控硅作为功率开关器件&#xff0c;在各种需要控制功率的电子产品中经常用到&#xff0c;我所涉及的行业为家电产品研发&#xff0c;比如发热丝、发热管的控温&#xff0c;或者AC电机、水泵的控速等&#xff1b;由于双向可控硅是在单向可控硅的基础上发展而来且应用场景更广&a…

ucgui的触摸执行过程

在STM32上调试ucosucguI的触摸时&#xff0c;显示上下左右中5个button&#xff0c;但是按上button时触发的却是右button&#xff0c;调试发现显示区域大小正常&#xff0c;触摸区域大小正常。但就是触摸区域无法与实际的button相对应。 分析原因可能是xy轴不匹配&#xff0c;那…

手撕深度学习中的优化器

深度学习中的优化算法采用的原理是梯度下降法&#xff0c;选取适当的初值params&#xff0c;不断迭代&#xff0c;进行目标函数的极小化&#xff0c;直到收敛。由于负梯度方向时使函数值下降最快的方向&#xff0c;在迭代的每一步&#xff0c;以负梯度方向更新params的值&#…

web前端笔记

HTML(安装live server插件) 我们上网时所看到的所有内容其实就是body里面的内容&#xff01; &#xff01; tab 快速生成一个html模板&#xff1b; https://www.runoob.com/tags/html-elementsdoctypes.html html的菜鸟教程&#xff01; html中的元素分为两种&#xff0c;一种…

广州蓝景分享—13个Web开发人员都知道的基本JavaScript函数

各位编程爱好者&#xff0c;今天由小蓝与大家分享13个基本的JavaScript 函数&#xff0c;如果您是 Web前端开发人员&#xff0c;您应该熟悉这些函数。 您可以将本文所有 JavaScript 函数加入收藏至您的工具箱&#xff0c;以便在您的软件项目中尽可能使用这些片段。 1. 检索任…

恐怖的低代码平台,我 All in 了!

本文目录一、低代码平台是什么&#xff1f;二、目前低代码产品平台是如何分类的&#xff1f;三、低代码平台是怎么互相比较的&#xff1f;一个比喻就明白了&#xff01;四、iVX平台的恐怖优势&#xff01;我 All in 了&#xff01;五、iVX的学习成本&#xff1f;总结&#xff1…

百度CTO王海峰做客《中国经济大讲堂》:文心一言,读书破万亿

当下&#xff0c;大语言模型热度空前&#xff0c;诸如文心一言、ChatGPT 等已经能够与人对话互动、回答问题、协助创作&#xff0c;逐渐应用于人们的工作和生活&#xff0c;也引发了社会热议。近日&#xff0c;百度首席技术官、深度学习技术及应用国家工程研究中心主任王海峰再…

asp.net Core 6 从空建立一个MVC项目,Razor组件使用

Razor组件使用MVC项目创建创建空的Web项目添加MVC框架Razor组件使用准备封装Razor组件MVC项目创建 创建一个空的项目&#xff0c;然后添加MVC。 创建空的Web项目 添加MVC框架 1.添加文件夹 2.添加控制器 3.添加界面 4.修改program.cs文件内容 //原生的 //var builder …

python入门:cl.exe‘ failed with exit status 2错误通用解决方案

文章目录 错误一错误二pypi.org独立安装正确安装错误一 error: Microsoft Visual C++ 14.0 or greater is required. Get it with "Microsoft C++ Build Tools": https://visualstudio.microsoft.com/visual-cpp-build-tools/ 这个错误在windows系统上安装python工…

用64位的plsql developer 连接虚拟机中的64位oracle数据库

背景&#xff1a;为了学习oracle&#xff0c;我在虚拟机上安装了oracle。并在实体机上安装了oracle客户端及plsql developer。 开始之前&#xff0c;先回答两个问题 为什么不在本机安装oracle? 因为oracle比较消耗资源&#xff0c;而我不会一直用&#xff0c;所以放到虚拟机里…

使用VMware虚拟机创建Ubuntu的linux系统,用Xshell连接这个系统,VScode作为编辑器时遇到的问题

使用VMware虚拟机创建Ubuntu的linux系统&#xff0c;用Xshell连接这个系统&#xff0c;VScode作为编辑器时遇到的问题1.软件2.Xshell和Xftp软件的使用3.VScode中安装了Remote Development扩展之后&#xff0c;点击远程资源管理器&#xff0c;下拉框里没有SSH-Targets4.将VScode…

Coremail AI技术发展前生今世

2023年3月15日凌晨&#xff0c;OpenAI发布大型多模态模型GPT-4&#xff0c;正式宣告AI迈入新的“黄金时代”。作为邮件安全厂商&#xff0c;Coremail不禁思索&#xff0c;在当今科技高速发展的节点上&#xff0c;如何将此类大型多模态模型落地至具体的邮件安全防护&#xff1f;…

PostgreSQL 系统表相关技术栈 实现原理(系统表初始化关系模型,SysCache RelCache)

文章目录前言基本介绍OIDpg_classpg_typepg_attribute系统表关系初始化编译阶段Initdb 阶段系统表的访问SysCache初始化 & 基本结构查找 & 插入 & 扩容RelCache初始化pg_filenode.mappg_internal.init初始化完整步骤dynahash 可扩展hash表extendible hashextendibl…

基于国产 FPGA + DSP+1553B总线 的大气数据测量装置的设计与实现

大气数据可供飞行器的控制管理系统使用&#xff0c;为飞行器提供飞行指导&#xff0c;因此实时精准 地获取大气数据在飞行器飞行过程中至关重要。本文设计并实现了一种基于 FPGA 和 DSP 的大气数据测量装置。测量装置包含五个压力传感器及两个温度传感器&#xff0c;可实时获取…

【springcloud 微服务】Spring Cloud Alibaba整合Sentinel详解

目录 一、前言 二、环境准备 2.1 部署sentinel管控台 2.1.1 官网下载sentinel的jar包 2.1.2 启动控制台 2.1.3 访问控制台 2.2 整合springcloud-alibaba 2.2.1 引入相关依赖 2.2.2 修改配置文件 2.2.3 增加一个测试接口 2.2.4 接口测试 三、sentinel 流控规则使用 …

基于HTML5/WebGL智慧楼宇三维可视化云平台

随着“双碳”目标政策的逐步推进&#xff0c;楼宇建筑作为连接人与空间的关键节点&#xff0c;节能潜力愈加凸显&#xff0c;行业热度与日俱增。如今&#xff0c;智慧楼宇已成群雄逐鹿的蓝海&#xff0c;在建筑信息化的浪潮之下&#xff0c;一场跨行业、跨品牌、跨领域的智慧建…

HTML5庆祝生日蛋糕烟花特效

HTML5庆祝生日蛋糕烟花特效 <!DOCTYPE html> <html> <head><meta charset"UTF-8"><title>HTML5 Birthday Cake Fireworks</title><style>canvas {position: absolute;top: 0;left: 0;z-index: -1;}</style> </h…

Kafka的概念|架构|搭建|查看命令

Kafka的概念|架构|搭建|查看命令一 Kafka 概述二 使用消息队列的好处三Kafka 定义3.1Kafka 简介3.2Kafka 的特性3.3 Kafka 系统架构3.4 Partation 数据路由规则四 kafka的架构五 搭建kafka5.1环境准备5.2安装kafka5.3 修改配置文件5.4 编辑其他二台虚拟机的配置文件5.5 编辑三台…

数据结构之第八章、二叉树

目录 一、树型结构&#xff08;了解&#xff09; 1.1概念 1.2专业术语&#xff08;重要&#xff09; 1.3树的表示形式&#xff08;了解&#xff09; ​编辑 1.4树的应用 二、二叉树&#xff08;重点&#xff09; 2.1概念 2.2两种特殊的二叉树 2.3二叉树的性质 2.4…

内、外连接查询-MySQL数据库 (头歌实践平台)

文章目的初衷是希望学习笔记分享给更多的伙伴&#xff0c;并无盈利目的&#xff0c;尊重版权&#xff0c;如有侵犯&#xff0c;请官方工作人员联系博主谢谢。 目录 第1关&#xff1a;内连接查询 任务描述 相关知识 内连接查询 编程要求 测试说明 第2关&#xff1a;外连接…