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动态点击切换css样式且子元素动态显示和隐藏

vue动态点击切换css样式并子元素动态显示和隐藏 <template><div v-for"i in 5" class"el-personal" :class"{active:isActivei}"click"show(i)">切换css样式<div click"clickbj(i)"> //i 为父元素 fo…

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;相信绝大部…

G20杭州峰会上云 实现0安全事件

客户简介 二十国集团&#xff08;G20&#xff09;由七国集团财长会议于1999年倡议成立&#xff0c;由阿根廷、澳大利亚、巴西、加拿大、中国、法国、德国、印度、印度尼西亚、意大利、日本、韩国、墨西哥、俄罗斯、沙特阿拉伯、南非、土耳其、英国、美国以及欧盟等20方组成。国…

vue解决字符串模板@click无效的问题

在同一函数下 进行操作 window.clickEvent this.clickEvent;// 解决字符串模板click无效的问题 let str<span class"uliao-news-item" style"color:#0079fe;" οnclick"clickEvent()"> 点击 </span> 然后在methods中直接调用 ​…

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()源码 修改…

安装Vue脚手架

修改NPM全局安装的默认路径&#xff08;不要轻易操作&#xff09; 查看当前的全局安装路径 npm config ls安装指定的目录安装node.js&#xff0c;例如&#xff1a; c:\nodejs。 node.js安装完成之后&#xff0c;需要在 c:\node.js 目录下创建两个文件夹&#xff1a; c:\nod…

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

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

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

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

vue2 父子组件传参 回调函数使用

关键点&#xff1a; 父组件给子组件动态传参使用v-bind:属性key&#xff08;多个单词用下划线拼接&#xff09; 子组件接收父组件传参参数使用 props标签&#xff0c;属性key多个单词用驼峰形式拼接&#xff09; 子组件定义回调父组件函数 子组件&#xff1a; v-on:change&quo…

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

公司介绍 我们是一家智慧停车公司&#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…

js判断一个字符串 是否存在在另一个字符串

vue项目中判断当前页面是否存在某个动态路由路径 let title that.$route.path; //获取当前路由路径 let routerStr that.$store.state.route_url; //某个动态路由 function isContains(title, routerStr) { return title.indexOf(routerStr) > 0; } console.log(isConta…

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

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

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

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

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

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