vue form表单验证

第一种:非必填不能为空,并且需要正则验证
第二种:必填,正则验证,不能只输入空格验证
第三种:必填,正则验证,不能输入空格(v-model.trim)
第四种:选了多选框后必填

第一种:非必填不能为空,并且需要正则验证

<template><div><el-formclass="abow_dialog":model="ruleForm"ref="ruleForm":rules="rules"label-width="180px"><el-form-item label="电话(座机):" prop="tel"><el-input v-model="ruleForm.tel"></el-input></el-form-item></el-form></div>
</template>
<script>
export default {data(){// 电话(座机)var validateworkTel=(rule, value, callback) =>{let regexp = /^(\(\d{3,4}\)|\d{3,4}-|\s)?\d{7,8}$/;if(value != null){let valdata = value.split(',');let isCorrect = true;if (valdata.length) {for (let i = 0; i < valdata.length; i++) {if (regexp.test(valdata[i]) == false) {isCorrect = false;}}}				      if (value == '') {callback();}else if (!isCorrect) {callback(new Error('请输入正确的固定电话'));} else {callback()}}callback();}return {ruleForm: {tel:"",},// 验证rules: {workTel:[{ required: false, validator: validateworkTel, trigger: 'blur'},]},}}
}
</script>

第二种:必填,正则验证,不能只输入空格验证

<template><div><el-formclass="abow_dialog":model="ruleForm"ref="ruleForm":rules="rules"label-width="180px"><el-form-item label="电话(座机):" prop="mobile"><el-input v-model="ruleForm.mobile"></el-input></el-form-item></el-form></div>
</template>
<script>export default {data(){// 手机号var validateMobile=(rule, value, callback) =>{let regexp = /^1(3[0-9]|4[01456879]|5[0-35-9]|6[2567]|7[0-8]|8[0-9]|9[0-35-9])\d{8}$/;let valdata = value.split(',');let isCorrect = true;if (valdata.length) {for (let i = 0; i < valdata.length; i++) {if (regexp.test(valdata[i]) == false) {isCorrect = false;}}}				      if (value == '') {return callback(new Error('请输入手机号'));} else if (!isCorrect) {callback(new Error('请输入正确的手机号'));} else {callback()}callback();}return {ruleForm: {mobile:"",},// 验证rules: {mobile:[{ required: true, validator: validateMobile, trigger: 'blur' },{ pattern: /\s*\S+?/, message: '请输入正确的手机号', trigger: 'blur' }],},}}}
</script>

第三种:必填,正则验证,不能输入空格(v-model.trim)

<template><div><el-formclass="abow_dialog":model="ruleForm"ref="ruleForm":rules="rules"label-width="180px"><el-form-item label="IP地址:" prop="contactIp"><el-input v-model.trim="ruleForm.contactIp"></el-input></el-form-item></el-form></div>
</template>
<script>export default {data(){var validateContactIp=(rule, value, callback) =>{let regexp = /^((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})(\.((2(5[0-5]|[0-4]\d))|[0-1]?\d{1,2})){3}$/;let valdata = value.split(',');let isCorrect = true;if (valdata.length) {for (let i = 0; i < valdata.length; i++) {if (regexp.test(valdata[i]) == false) {isCorrect = false;}}}				      if (value == '') {return callback(new Error('请输入IP地址'));} else if (!isCorrect) {callback(new Error('请输入正确的IP地址'));} else {callback()}callback();}return {ruleForm: {contactIp:"",},// 验证rules: {contactIp:[{ required: true, validator: validateContactIp, trigger: 'blur' },],}}}}
</script>

第四种:选了多选框后必填,

<template><div><el-formclass="abow_dialog":model="ruleForm"ref="ruleForm":rules="rules"label-width="180px"><el-form-item label="基本配置:" prop="isTopChecked" class="clearfix"><el-checkbox-group v-model="ruleForm.reminderChecked" class="fl" style="width:150px"><el-checkbox label="站内提醒" name="reminderChecked"></el-checkbox></el-checkbox-group><el-checkbox-group v-model="ruleForm.isTopChecked" class="fl" style="width:150px"><el-checkbox label="是否置顶" name="isTopChecked" @change="isTopCheckedChange"></el-checkbox></el-checkbox-group><el-date-pickerv-if="isTopDataShow"v-model="ruleForm.isTopDatavalue"type="date"time-arrow-controlformat="yyyy-MM-dd"value-format="yyyy-MM-dd HH:mm:ss"range-separator="至"placeholder="置顶日期"style="width: 20%;"class="fl"></el-date-picker></el-form-item></el-form></div>
</template>
<script>export default {data(){var isTopValidate=(rule, value, callback) =>{if(value===true){if(this.ruleForm.isTopDatavalue == "" || this.ruleForm.isTopDatavalue == null){callback(new Error('请选择日期'));}else{callback();}}else{callback();}}return {ruleForm: {reminderChecked:true,isTopChecked:false,isTopDatavalue:"",},// 验证rules: {isTopChecked:[{ required: false, validator: isTopValidate, trigger: "blur" }]}}}}
</script>

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

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

相关文章

【笔记】学习Android.mk(三)

一、在Android.mk文件中引入系统动态库 要在 Android.mk 文件中引入系统动态库&#xff0c;你可以使用 LOCAL_SHARED_LIBRARIES 变量来指定系统动态库。以下是一个示例&#xff1a; LOCAL_PATH : $(call my-dir)include $(CLEAR_VARS)# 定义模块名称和源文件 LOCAL_MODULE : …

C#,数值计算,希尔伯特矩阵(Hilbert Matrix)的算法与源代码

Hilbert, David (1862-1943) 1 希尔伯特(Hilbert) 德国数学家,在《几何学基础》中提出了第一套严格的几何公理(1899年)。他还证明了自己的系统是自洽的。他发明了一条简单的空间填充曲线,即埃里克魏斯汀的数学世界,即希尔伯特曲线,埃里克魏斯汀的数学世界,并证明了不…

ms office学习记录12:Excel学习记录㈥

数据工具 分列的其他运用&#xff1a;身份证号中“出生日期”切片&#xff1a;分列→固定宽度→下一步→切割出三列→下一步→不导入第一列→导入第二列且转换成日期→不导入第三列→完成 删除重复值&#xff1a;定位到要“数据”选项卡→删除重复项→取消全选再勾选要删除的…

C/C++程序设计实验报告2 | 循环结构实验

本文整理自博主学校大一&#xff08;2021级&#xff09;C/C专业课的课程实验报告&#xff0c;适合学弟妹或C语言初学者入门C语言学习、练习。 编译器&#xff1a;gcc 10.3.0 ---- 注&#xff1a; 1.虽然课程名为C程序设计&#xff0c;但实际上当时校内该课的内容大部分其实都是…

ElasticSearch学习篇10_Lucene数据存储之BKD动态磁盘树

前言 基础的数据结构如二叉树衍生的的平衡二叉搜索树通过左旋右旋调整树的平衡维护数据&#xff0c;靠着二分算法能满足一维度数据的logN时间复杂度的近似搜索。对于大规模多维度数据近似搜索&#xff0c;Lucene采用一种BKD结构&#xff0c;该结构能很好的空间利用率和性能。 …

查找jdk的安装

方式1&#xff1a;which或者where java which java -- linux where java --windows 方式2: echo 使用echo 打印配置的java home环境变量 echo $JAVA_HOME$ --linux echo %JAVA_HOME% --windows 方式3&#xff1a;使用ls -lrt -a &#xff1a;显示所有文件即目录…

沃通SSL证书证券行业应用案例

金融证券行业作为现代经济体系中的重要组成部分&#xff0c;其安全性直接关系到国家经济的稳定和广大投资者的利益。沃通SSL证书基于密码技术保护传输数据的机密性、完整性&#xff0c;通过权威身份认证确保服务器身份真实性&#xff0c;已持续为众多知名证券行业客户提供服务&…

微信小程序之vue按钮切换内容变化

效果图如下&#xff1b; 上代码 <template><view class"content"><view class"searchDiv"><view class"paytab"><view class"buttab" v-for"(t,index) in tabList" :key"index" clic…

Linux服务器,使用ssh登录时越来越慢,有时甚至出现超时的现象,解决方案

一台Linux服务器&#xff0c;使用ssh登录时越来越慢&#xff0c;有时甚至出现超时的现象。一直以为这不算问题&#xff0c;但是有时候登录时间长的让人无法接受&#xff0c;查了一下&#xff0c;这“ssh登录慢”还真的是个问题&#xff0c;解决方案如下&#xff1a; 客户端进行…

Python小设计

1. 五个PPT上的界面打印【print、input函数】 &#xff08;1&#xff09;英雄商城登陆界面 print(英雄联盟商城登录界面 ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~1. 用户登录2. 新用户注册3. 退出系统 ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~ * ~…

Android UI: 自定义控件:可换行的布局控件

文章目录 继承ViewGroup重写onMeasure方法&#xff1a;计算并设置布局控件的高度重写onLayout方法&#xff1a;计算并设置每个子控件的位置具体的代码实现小结 继承ViewGroup 重写generateLayoutParams&#xff0c;设置子控件的LayoutParams为MarginLayoutParams类型 Overridep…

【Numpy】基础学习:一文了解np.expand_dims的作用、用法

【Numpy】基础学习&#xff1a;一文了解np.expand_dims的作用、用法 &#x1f308; 个人主页&#xff1a;高斯小哥 &#x1f525; 高质量专栏&#xff1a;Matplotlib之旅&#xff1a;零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程&#x1f448; 希望…

c/c++的内存分配,详细说一下栈、堆和静态存储区

栈区&#xff08;Stack&#xff09;&#xff1a;由编译器自动分配和回收&#xff0c;栈中存放函数调用的相关信息&#xff0c;栈帧&#xff08;记录函数的栈帧开始的位置&#xff09;&#xff0c;参数&#xff0c;局部变量&#xff0c;返回地址。其操作方法类似于数据结构中的栈…

数组常用操作对照表——matlab和C++(vector)

操作类别注释MatlabC创建创建一维数组常量v [1, 2, 3, 4, 5];std::vector<int> v {1, 2, 3, 4, 5 };创建全为0的一维数组v zeros(1, 3)std::vector<int> v(length);//初始化std::fill(v.begin(), v.end(), 0);创建全为1的一维数组v ones(1, 3);std::vector<…

【python】使用代理IP爬取猫眼电影专业评分数据

前言 我们为什么需要使用IP代理服务&#xff1f; 在编写爬虫程序的过程中&#xff0c;IP封锁无疑是一个常见且棘手的问题。尽管网络上存在大量的免费IP代理网站&#xff0c;但其质量往往参差不齐&#xff0c;令人堪忧。许多代理IP的延迟过高&#xff0c;严重影响了爬虫的工作…

MySQL用法---MySQL Workbench创建数据库和表

1. 连接数据库 打开软件&#xff0c;点击左下角卡片&#xff0c;输入设置的数据库密码&#xff0c;勾选单选框 2. 了解主页面的组成部分 3. 创建数据库 先点击工具栏的创建按钮 再输入数据库名称 点击 Apply 创建 4. 创建数据表 展开数据库&#xff0c;在Tables上右键&…

RocketMq安装部署(centos)

1、下载 官网下载地址&#xff1a;https://rocketmq.apache.org/zh/docs/quickStart/01quickstart/ 下载二进制包 2、上传 上传rocketmq-all-5.2.0-bin-release.zip至/home/rocketmq 解压缩&#xff1a; unzip rocketmq-all-5.2.0-bin-release.zip3、配置 broker.conf&…

docker学习(十四)docker搭建私服

docker私服搭建&#xff0c;配置域名访问&#xff0c;设置访问密码 启动registry docker run -d \-p 5000:5000 \-v /opt/data/registry:/var/lib/registry \registrydocker pull hello-world docker tag hello-world 127.0.0.1:5000/hello-world docker push 127.0.0.1:5000…

【2024-完整版】python爬虫 批量查询自己所有CSDN文章的质量分:附整个实现流程

【2024】批量查询CSDN文章质量分 写在最前面一、分析获取步骤二、获取文章列表1. 前期准备2. 获取文章的接口3. 接口测试&#xff08;更新重点&#xff09; 三、查询质量分1. 前期准备2. 获取文章的接口3. 接口测试 四、python代码实现1. 分步实现2. 批量获取文章信息3. 从exce…

WPF —— Calendar日历控件详解

1&#xff1a; Calendar的简介 日历控件用于创建可视日历&#xff0c;让用户选择日期并在选择日期时触发事件。 DisplayMode 用来调整日历显示模式&#xff0c;分为Month、Year 和Decade 三种。如下是None 2&#xff1a;Calendar控件常用的属性 SelectionMode 选中日历的类…