vue elementUI实现自定义正则规则验证

作者:这就是div而已 时间:2024-05-28 16:00:58 

项目场景:

常见的表单填写中都会遇到,比如新增信息,修改信息等,如下图

vue elementUI实现自定义正则规则验证

相信大家对上面的验证都非常熟悉了,不多哔哔 本篇文章主要 想写 验证规则自定义 相关的内容

验证是否是合法手机号(举例)

实现下图所示:

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

标签:vue,elementUI,正则规则验证
0
投稿

猜你喜欢

  • keras:model.compile损失函数的用法

    2023-11-23 08:44:21
  • 60个vue常用工具类

    2024-06-07 16:03:50
  • 网马解密大讲堂——网马解密中级篇(Freshow工具使用方法)

    2009-09-16 15:09:00
  • MySQL 线上日志库迁移实例

    2024-01-25 12:40:22
  • Mysql CONVERT函数的具体使用

    2024-01-27 03:52:12
  • Python机器学习从ResNet到DenseNet示例详解

    2023-04-21 09:19:16
  • 获取url中用&隔开的参数实例(分享)

    2024-05-28 15:40:46
  • Python3.x版本中新的字符串格式化方法

    2021-10-12 17:32:23
  • Python contextlib模块使用示例

    2023-08-08 16:34:23
  • 描述性列表的表现形式

    2008-09-17 13:43:00
  • DJango的创建和使用详解(默认数据库sqlite3)

    2024-01-24 20:24:39
  • Tensorflow 合并通道及加载子模型的方法

    2023-08-10 05:36:54
  • Django Sitemap 站点地图的实现方法

    2023-05-27 07:40:17
  • Python关于print的操作(倒计时、转圈显示、进度条)

    2022-08-19 07:26:58
  • python中pdb模块实例用法

    2023-10-14 19:04:48
  • python+gdal+遥感图像拼接(mosaic)的实例

    2023-02-22 23:40:34
  • Python实现监控Nginx配置文件的不同并发送邮件报警功能示例

    2023-09-22 11:07:33
  • np.ones的使用小结

    2021-05-20 06:55:34
  • python获取磁盘号下盘符步骤详解

    2022-10-05 08:32:32
  • ASP正则获取图片地址

    2009-09-03 13:18:00
  • asp之家 网络编程 m.aspxhome.com