vue+elementui项目封装form表单公共正则验证

前期准备:在项目下创建一个工具包文件夹util,文件夹下创建一个formValidation.js文件

1、formValidation.js 文件

let tel = /^1(3|4|5|7|8|9)\d{9}$/; //手机号码
let name = /^[\u4E00-\u9FA5\uf900-\ufa2d·s]{2,10}$/; //姓名

let FormValidate = (function() {
  function FormValidate() {}
  FormValidate.Form = function() {  // From表单验证规则,可用于公用的校验部分
    return {
      // 电话号码的验证
      Tel: (rule, value, callback) => {
        if (!value) {
          return callback(new Error('联系电话不能为空!'))
        }
        if (!tel.test(value)) {
          callback(new Error('手机号码有误,请重新填写!'))
        } else {
          callback()
        }
      },
      
    }
  }

  // FromOne表单验证规则  用于FromOne个性化的校验
  FormValidate.FormOne = function() {
    return {
      // 姓名的验证规则
      Name: function(rule, value, callback) {
        if (!value) {
          return callback(new Error('姓名不能为空'))
        }
        if (!name.test(value)) {
          callback(new Error('请输入正确姓名!'))
        } else {
          callback()
        }
      }
    }
  }

  return FormValidate
}())
exports.FormValidate = FormValidate

  return FormValidate
}())

exports.FormValidate = FormValidate

2、在src下的 main.js 入口文件注册全局组件

import fromCommon from "../util/fromCommon.js" // 1、导入文件

Vue.prototype.$fromCommon = fromCommon;       //  2、注册成全局验证

3、使用

addRules: {
   tgeiContactPhone: [{
     required: true,
     validator: this.$fromCommon.FormValidate.Form().Tel,
     trigger: 'blur'
   }],
}
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值