vue elementUI实现自定义正则规则验证
作者:这就是div而已 发布时间:2024-05-28 16:00:58
标签:vue,elementUI,正则规则验证
项目场景:
常见的表单填写中都会遇到,比如新增信息,修改信息等,如下图
相信大家对上面的验证都非常熟悉了,不多哔哔 本篇文章主要 想写 验证规则自定义 相关的内容
验证是否是合法手机号(举例)
实现下图所示:
实现步骤:
step 1
准备好 reg表达式 , 百度即可
电话号码—— /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$/
step 2
model 和 ref 最好一致
prop验证的phone_number 和 v-model 绑定的phone_number 的字段名也要一致 注意细节
<el-form :model="ruleForm" ref="ruleForm" :rules="rules">
<el-form-item label="xxx电话号码" prop="phone_number">
<el-input v-model="ruleForm.phone_number"></el-input>
</el-form-item>
</el-form>
<el-button type="primary" @click="submitForm('ruleForm')">立即创建</el-button>
step 3
data() {
饿了么文档上写的在这里定义一个 checkPhon_unm 回调
// 电话号码 验证
var checkPhon_unm = (rule, value, callback) => {
if (value) {
if (!/^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$/.test(value)) {
callback(new Error("请输入正确的电话号码!"));
} else {
callback();
}
} else {
callback();
}
};
return {
rules: {
phone_number: [{ validator: checkPhon_unm, trigger: "blur" }],
},
};
},
methods: {
submitForm(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
alert('submit!');
} else {
console.log('error submit!!');
return false;
}
});
},
总结:
电话号码如此,其他都是一样的,举一反三而已
具体业务具体分析,有些是非必填项正则验证,有些相反
如果表单域需要自定义布局,不想使用饿了么自带的局部效果的话,最好把el-form包在最外层,不然也许会出现无法触发验证回调的可能
来源:https://juejin.cn/post/7073348470030991367


猜你喜欢
- 一个简单的php文件下载源代码,虽不支持断点续传等,但是可以满足一些常用的需求了。php下载文件其实用一个a标签就能实现,比如 <a
- 作为一个Oracle数据库开发者或者DBA,在实际工作中经常会遇到这样的问题:试图对库表中的某一列或几列创建唯一索引时,系统提示ORA-01
- 近来,随着XHTML(可扩展HTML)标准的出现,<script/>标签也经历了一些改变。该标签不再用language特性,而用
- 简介除ide的执行方式外,命令行的方式执行Python脚本是参数化程序执行的一种常见且简单的方法,正确处理命令行参数,可以提供给包含某种参数
- ImageDataGenerator的参数自己看文档from keras.preprocessing import imageimport
- 在进行CSS网页布局的时候,我们经遇到刷新要保留表单里内容的时候,习惯的做法使用cookie,但是那样做实在是很麻烦,css中的behavi
- 本文实例讲述了MySQL 的启动选项和系统变量。分享给大家供大家参考,具体如下:MySQL的配置信息可以通过两种方式实现,一种是命令行形式,
- 一、JSON数据格式介绍 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。JSON建
- 概述递归函数即直接或间接调用自身的函数,且递归过程中必须有一个明确的递归结束条件,称为递归出口。递归极其强大一点就是能够遍历任意的,不可预知
- 一、单循环动态设置ref1.设置:【:ref=“‘XXX’ + index&am
- 窗口背景主要包括,背景色与背景图片,设置窗口背景有三种方法使用QSS设置窗口背景使用QPalette设置窗口背景实现PainEvent,使用
- 任务1、记录用户登录日志import timedef show_info():? ? print('输入提示数字,执行相应操作:0退
- 添加jar包 官网下载jar包idea导入jar包:检查官网下载jar包官网地址:MySQL :: Download Connec
- 这篇文章主要介绍了python 数据生成excel导出(xlwt,wlsxwrite)代码实例,文中通过示例代码介绍的非常详细,对大家的学习
- 这一次将使用pymysql来进行一次对MySQL的增删改查的全部操作,相当于对前五次的总结:先查阅数据库:现在编写源码进行增删改查操作,源码
- 前言面对计算密集型的任务,除了多进程,就是分布式计算,如何用 Python 实现分布式计算呢?今天分享一个很简单的方法,那就是借助于 Ray
- Python实现完整邮件先上效果:一、邮箱端设置首先,要对邮件进行一下设置,在邮箱端获取一个授权码。1、首先登录网页版126邮箱
- virtualenv 是一个创建隔绝的Python环境的工具。virtualenv创建一个包含所有必要的可执行文件的文件夹,用来使用Pyth
- 我在网站上设置了邮件列表功能,实现用户自动订阅和发送,但很多用户输入和提交的邮件地址格式都是无效的,无法处理。请问如何解决这一问题?&nbs
- HTTP请求是无状态的,我们通常会使用cookie或session对其进行状态保持,cookie存储在客户端,容易被用户误删,安全性不高,s