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

矫情吗;* 2021-07-25 23:07 877阅读 0赞

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

1、formValidation.js 文件

  1. let tel = /^1(3|4|5|7|8|9)\d{9}$/; //手机号码
  2. let name = /^[\u4E00-\u9FA5\uf900-\ufa2d·s]{2,10}$/; //姓名
  3. let FormValidate = (function() {
  4. function FormValidate() { }
  5. FormValidate.Form = function() { // From表单验证规则,可用于公用的校验部分
  6. return {
  7. // 电话号码的验证
  8. Tel: (rule, value, callback) => {
  9. if (!value) {
  10. return callback(new Error('联系电话不能为空!'))
  11. }
  12. if (!tel.test(value)) {
  13. callback(new Error('手机号码有误,请重新填写!'))
  14. } else {
  15. callback()
  16. }
  17. },
  18. }
  19. }
  20. // FromOne表单验证规则 用于FromOne个性化的校验
  21. FormValidate.FormOne = function() {
  22. return {
  23. // 姓名的验证规则
  24. Name: function(rule, value, callback) {
  25. if (!value) {
  26. return callback(new Error('姓名不能为空'))
  27. }
  28. if (!name.test(value)) {
  29. callback(new Error('请输入正确姓名!'))
  30. } else {
  31. callback()
  32. }
  33. }
  34. }
  35. }
  36. return FormValidate
  37. }())
  38. exports.FormValidate = FormValidate
  39. return FormValidate
  40. }())
  41. exports.FormValidate = FormValidate

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

  1. import fromCommon from "../util/fromCommon.js" // 1、导入文件
  2. Vue.prototype.$fromCommon = fromCommon; // 2、注册成全局验证

3、使用

  1. addRules: {
  2. tgeiContactPhone: [{
  3. required: true,
  4. validator: this.$fromCommon.FormValidate.Form().Tel,
  5. trigger: 'blur'
  6. }],
  7. }

发表评论

表情:
评论列表 (有 0 条评论,877人围观)

还没有评论,来说两句吧...

相关阅读

    相关 form验证

    iview默认校验数据类型为String,需要的不是字符串要注明type=’ ’ ![在这里插入图片描述][20191113171956686.png] form表单提交