vue 集成 sweetalert2 前端校验

在这里插入图片描述
c

文章目录

            • 1. 集成 sweetalert2
            • 2. 校验工具类抽象
            • 3. 校验工具类
            • 4. 使用
            • 5. 效果图
            • 6. 后端集成

1. 集成 sweetalert2

官网:https://sweetalert2.github.io
在index.html引入

<script src="//cdn.jsdelivr.net/npm/sweetalert2@11"></script>

在这里插入图片描述

2. 校验工具类抽象
Tool = {/*** 空校验 null或""都返回true*/isEmpty: function (obj) {if ((typeof obj == 'string')) {return !obj || obj.replace(/\s+/g, "") == ""} else {return (!obj || JSON.stringify(obj) === "{}" || obj.length === 0);}},/*** 非空校验*/isNotEmpty: function (obj) {return !this.isEmpty(obj);},/*** 长度校验*/isLength: function (str, min, max) {return $.trim(str).length >= min && $.trim(str).length <= max;},/*** 时间格式化,date为空时取当前时间*/dateFormat: function (format, date) {let result;if (!date) {date = new Date();}const option = {"y+": date.getFullYear().toString(),        // 年"M+": (date.getMonth() + 1).toString(),     // 月"d+": date.getDate().toString(),            // 日"h+": date.getHours().toString(),           // 时"m+": date.getMinutes().toString(),         // 分"s+": date.getSeconds().toString()          // 秒};for (let i in option) {result = new RegExp("(" + i + ")").exec(format);if (result) {format = format.replace(result[1], (result[1].length == 1) ? (option[i]) : (option[i].padStart(result[1].length, "0")))}}return format;},/*** 移除对象数组中的对象* @param array* @param obj* @returns {number}*/removeObj: function (array, obj) {let index = -1;for (let i = 0; i < array.length; i++) {if (array[i] === obj) {array.splice(i, 1);index = i;break;}}return index;},/*** 10进制转62进制* @param number* @returns {string}* @private*/_10to62: function (number) {let chars = '0123456789abcdefghigklmnopqrstuvwxyzABCDEFGHIGKLMNOPQRSTUVWXYZ';let radix = chars.length;let arr = [];do {let mod = number % radix;number = (number - mod) / radix;arr.unshift(chars[mod]);} while (number);return arr.join('');},/*** 保存登录用户信息*/setLoginUser: function (loginUser) {SessionStorage.set(SESSION_KEY_LOGIN_USER, loginUser);},/*** 获取登录用户信息*/getLoginUser: function () {return SessionStorage.get(SESSION_KEY_LOGIN_USER) || {};},/*** 随机生成[len]长度的[radix]进制数* @param len* @param radix 默认62* @returns {string}*/uuid: function (len, radix) {let chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.split('');let uuid = [];radix = radix || chars.length;for (let i = 0; i < len; i++) {uuid[i] = chars[0 | Math.random() * radix];}return uuid.join('');},/*** 查找是否有权限* @param id 资源id*/hasResource: function (id) {let _this = this;let resources = _this.getLoginUser().resources;if (_this.isEmpty(resources)) {return false;}for (let i = 0; i < resources.length; i++) {if (id === resources[i].id) {return true;}}return false;}
};
3. 校验工具类

校验 和 sweetalert2 整合显示 消息提示框

Validator = {require: function (value, text) {if (Tool.isEmpty(value)) {Toast.warning(text + "不能为空");return false;} else {return true}},length: function (value, text, min, max) {if (Tool.isEmpty(value)) {return true;}if (!Tool.isLength(value, min, max)) {Toast.warning(text + "长度" + min + "~" + max + "位");return false;} else {return true}}
};
4. 使用
/*** 点击【保存】*/save() {let _this = this// 保存校验if (!Validator.require(_this.chapter.name, "名称")|| !Validator.require(_this.chapter.courseId, "课程ID")|| !Validator.length(_this.chapter.courseId, "课程ID", 1, 8)) {return}Loading.show()_this.$api.post('http://127.0.0.1:9000/business/admin/chapter/save', _this.chapter).then((res) => {Loading.hide()console.log("保存大章列表结果:", res)let resp = res.dataif (resp.success) {$("#form-modal").modal("hide")_this.list(1)Toast.success("保存成功!")} else {Toast.warning(resp.message)}})},
5. 效果图

在这里插入图片描述
c

前端校验集成完毕!!!

6. 后端集成

SpringBoot/Cloud 统一返回优雅设计+自定义异常

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

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

相关文章

vue 集成 Loading 加载效果

文章目录1. 工具类2. 插件官网3. 导入js4.. 使用5. 效果图1. 工具类 Loading {show: function () {$.blockUI({message: <img src"/static/image/loading.gif" />,css: {zIndex: "10011",padding: "10px",left: "50%",width: …

永远不要对 AI 说:“我不行!”

最近这些年&#xff0c;如果我要问什么技术最值钱&#xff0c;我想超过90%的人都会说是&#xff1a;人工智能。确实&#xff0c;随着近些年人工智能发展与普及&#xff0c;AI研发岗早已成为编程领域薪水最高的岗位之一。但扎心的是&#xff0c;一提到 AI &#xff0c;相信绝大部…

SringBoot/Cloud/Aalibab 事务管理

文章目录1. 事务管理场景2. 使用说明3. 事务失效场景1. 事务管理场景 当方法内部操作多张表时&#xff0c;应该添加事务管理&#xff0c;保证原子性&#xff08;同时成功或者同时失败&#xff09; 2. 使用说明 添加EnableTransactionManagement注解 在具体的方法上添加Trans…

CPU:别再拿我当搬砖工!

来源 | 编程技术宇宙责编 | 晋兆雨封图 | CSDN 下载自视觉中国数据搬运工Hi&#xff0c;我是CPU一号车间的阿Q&#xff0c;有段日子没见面了。还记得上回说到咱们厂里用上了DMA技术&#xff08;太慢不能忍&#xff01;CPU又拿硬盘和网卡开刀了&#xff01;&#xff09;之后&…

用函数计算搭建页面的前端CICD系统,提升访问体验

场景描述 传统动静不分离的产品架构&#xff0c;随着访问量在增长&#xff0c;性能会成为瓶颈。在这种情况下&#xff0c;用户可以通过利用OSS和CDN对网站进行架构优化&#xff0c;做到网站文件的动静分离&#xff0c;提升用户访问体验&#xff0c;实现成本可控。本方案使用函…

构建电商网站业务安全系统,防止“薅羊毛”

构建电商网站业务安全系统&#xff0c;防止“薅羊毛” 2020-02-19 新零售安全 场景描述 业务运营活动是电商行业开展业务必不可少的手段&#xff0c;但大流量带来的系统可用性、优惠券带来的“薅羊毛”等问题屡见不鲜&#xff0c;都会影响到运营效果、甚至出现负面影响。阿里云…

data.name.toLowerCase() is not a function问题

文章目录1. 现象2. 分析3. 解决方案1. 现象 Error in v-on handler: "TypeError: suffixs[i].toLowerCase is not a function" 2. 分析 主要原因是.toLowerCase()方法需要前面是字符串类型 3. 解决方案 案例&#xff1a; (data.name ) .toLowerCase()源码 修改…

云服务器ECS使用限制概览,让你的上云少走一些坑

限制概述 使用云服务器ECS有下列限制&#xff1a; 不支持安装虚拟化软件和二次虚拟化&#xff08;例如安装使用VMware Workstation&#xff09;。仅弹性裸金属服务器和超级计算集群支持二次虚拟化。不支持声卡应用。不支持直接加载外接硬件设备&#xff08;如硬件加密狗、U盘…

Tomcat 架构原理解析到架构设计借鉴

来源 | 码哥字节Tomcat 架构原理解析到架构设计借鉴Tomcat 发展这么多年&#xff0c;已经比较成熟稳定。在如今『追新求快』的时代&#xff0c;Tomcat 作为 Java Web 开发必备的工具似乎变成了『熟悉的陌生人』&#xff0c;难道说如今就没有必要深入学习它了么&#xff1f;学习…

“智慧停车+智慧交通”提高市民出行效率和体验

公司介绍 我们是一家智慧停车公司&#xff0c;专注于专业停车场技术研发以及技术服务。主营业务是专业停车场技术研发。 我们公司提出先进的“智慧停车智能交通”解决方案&#xff0c;以大数据平台架构、人工智能技术及软硬件集成融合&#xff0c;通过产品技术创新与商业模式创…

@webservice报错org.apache.cxf.common.i18n.UncheckedException: No operation was found with

文章目录1. 现象2. 解决办法13. 解决办法21. 现象 整合springcxf的webservice,成功发布了wsdl,但在调用的时候报错 org.apache.cxf.common.i18n.UncheckedException: No operation was found with; 2. 解决办法1 : 在service接口中添加targetNamespace package com.gblfy.s…

“校园安全+教务管理+家校互动+教育大数据”创造安全的家校生态环境

公司介绍 我们主营业务为线上教育&#xff0c;旨在开创“物联网校园安全教务管理学习资源家校互动教育大数据”业务模式&#xff0c;创造更加安全和谐的家校生态环境。我们公司需要参照国外总公司系统开发一套国内业务系统。 客户痛点 我们作为国内新注册的公司&#xff0c;对未…

Web 前端,易学难精,没有拿手的实战项目,怎么办?

今年受经济下行与疫情叠加的影响&#xff0c;毕业生有800多万&#xff0c;就业形势十分严峻&#xff0c;但即便如此&#xff0c;Web 前端人才在软件开发行业的就业市场中依旧供小于求&#xff0c;目前&#xff0c;全国总缺口每年大约为近百万人。行业对前端需求量持续增加&…

快速入门容器服务,创建Kubernetes集群

使用须知 创建集群过程中&#xff0c;容器服务会进行如下操作&#xff1a; 创建 ECS&#xff0c;配置管理节点到其他节点的 SSH 的公钥登录&#xff0c;通过 CloudInit 安装配置 Kubernetes 集群。 创建安全组&#xff0c;该安全组允许 VPC 入方向全部 ICMP 端口的访问。 如果…

spring5.x cxf3.4.x 服务端和客户端 非maven版本

文章目录一、资料准备1. 官网链接2. 解压3. 依赖梳理二、spring集成cxf2.1.创建spring项目2.2. 创建接口2.3. impl2.4. spring-cxf.xml2.5. 客户端2.6. 开源项目一、资料准备 1. 官网链接 http://cxf.apache.org/download.html 下载apache-cxf-3.4.5.zip 2. 解压 3. 依赖梳…

2019年中国IaaS公有云市场排名及份额出炉

来源 | 艾瑞咨询随着政府、企业的数字化转型如火如荼地推进&#xff0c;云服务作为国家数字经济产业的“基座”&#xff0c;正日益彰显出其重要的战略意义。尽管基础算力和网络的供给已较为充分&#xff0c;但云服务正在使这些IT基础资源更加普惠化&#xff0c;让数字红利流向…

专有网络(VPC)的六大应用场景

专有网络&#xff08;VPC&#xff09;是完全隔离的网络环境&#xff0c;配置灵活&#xff0c;可满足不同的应用场景。 托管应用程序 您可以将对外提供服务的应用程序托管在VPC中&#xff0c;并且可以通过创建安全组规则、访问控制白名单等方式控制Internet访问。您也可以在应用…

应用配置管理ACM 使用场景快速入门

本文以一个例子介绍了如何使用 ACM 的命名空间&#xff08;Namespace&#xff09;功能&#xff0c;为应用在测试、预生产和生产环境下的同一个配置设置不同的值。 背景信息 在本示例任务中&#xff0c;我们将使用 ACM 的命名空间&#xff08;Namespace&#xff09;功能&#xf…

三本毕业!入职华为!年薪200万!他凭什么?

前几天&#xff0c;华为第二批“天才少年”入选名单更新了&#xff0c;随之登上知乎的是这样一个热搜&#xff1a;“如何看待武昌理工学院2009级本科生张霁入选华为“天才少年“计划并且年薪位于最高档&#xff1f;”从三本到年薪200万的高薪offer&#xff0c;张同学堪称是读书…

利用云数据库 MongoDB ,为你的业务创建单节点实例

本文以一个例子介绍了如何使用 ACM 的命名空间&#xff08;Namespace&#xff09;功能&#xff0c;为应用在测试、预生产和生产环境下的同一个配置设置不同的值。 背景信息 在本示例任务中&#xff0c;我们将使用 ACM 的命名空间&#xff08;Namespace&#xff09;功能&#xf…