Element UI定义方法校验邮箱格式

news/2024/7/10 0:46:33 标签: elementui, vue, 自定义校验

1. .vue中定义了3个邮箱输入框,前面两个是输入多个邮件地址,最后一个是使用element自带的校验来校验单个邮件地址

    

     <el-row>
          <el-col :span="24">
            <el-form-item label="收件人" prop="to">
              <el-input v-model="form.to" type="textarea" placeholder="请输入收件人邮箱地址,以分号(;)分隔"></el-input>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="24">
            <el-form-item label="抄送人" prop="cc">
              <el-input v-model="form.cc" type="textarea" placeholder="请输入内容抄送人邮箱地址,以分号(;)分隔"></el-input>
            </el-form-item>
          </el-col>
        </el-row>

     <el-row>
          <el-col :span="12">
            <el-form-item label="邮箱" prop="email">
              <el-input v-model="form.email" placeholder="请输入邮箱" maxlength="50" />
            </el-form-item>
          </el-col> 
        </el-row>

2. js定义校验规则

注意: 校验规则rules中若想调用方法,那么这个方法必须放到data的子定义中,如果是放到methods中无法调用

export default {
	//...
  data() {
    var checkEmail = (rule, value, callback) => { //邮箱校验  ---只有在data()里面定义的方法能在data中的return里面的rules中的某些规则中调用,也就是这些方法需要在methods同级中定义,如果在methods中定义是无法在rules中调用的
      const mailReg = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/ ;
      const emails = value.split(';'); 
      if (!value) {
        return callback('邮箱地址不能为空');
      }
      setTimeout(() => {
        for (let i = 0; i < emails.length; i++) {  
          console.log('邮箱地址:' + emails[i].trim());
          if (!mailReg.test(emails[i].trim())) {  
            callback("邮箱地址格式不正确: "+ emails[i].trim());  
          }  
        }  
        callback();  // 所有邮件地址都合法
      }, 100)
    } 
    return {
		//... 
      rules: {// 表单校验
        to: [{ validator: checkEmail, trigger: 'blur' }],
        cc:[{ validator: checkEmail, trigger: 'blur' }],
        email: [{type: "email", message: "请输入正确的邮箱地址", trigger: ["blur", "change"]}]
      }
    };
  },
  methods: {
	 // ...
  }
  
  
};


http://www.niftyadmin.cn/n/5103817.html

相关文章

echarts设置竖向不同区间范围颜色,并且x轴自定义轴线刻度范围

需求&#xff1a;设置竖向范围区间&#xff0c;不同范围区间颜色不同并且提示信息不同&#xff0c;之后修改x轴的固定间距范围&#xff0c;让0-200-400-600改为0-340-476-754这种&#xff0c;在这我是markLine的方式实现的&#xff0c;这边我还用到x轴的翻转所以显示的是镜像的…

电脑开不了机用U盘重装系统Win10教程

如果我们遇到了电脑开不起机的问题&#xff0c;这给我们的正常使用带来了很大的影响。这时候我们可以借助U盘重装系统的方法&#xff0c;轻松应对这一问题。下面小编给大家详细介绍关于用U盘给开不机的电脑重装Win10系统的教程步骤&#xff0c;操作后用户就能正常使用电脑了。 …

(H5轮播)vue一个轮播里显示多个内容/一屏展示两个半内容

效果图 : html: <div class"content"><van-swipeclass"my-swipe com-long-swipe-indicator":autoplay"2500"indicator-color"#00C4FF"><van-swipe-itemclass"flex-row-wrap"v-for"(items, index) in M…

⽜客论坛的笔记

项目描述: 一个基本功能完整的论坛项目。项目主要功能有: 基于邮件激活的注册方式&#xff0c;基于MD5加密与加盐的密码存储方式&#xff0c;登录功能加入了随机验证码的验证&#xff0c;实现登陆状态检查、为游客与已登录用户展示不同界面与功能。支持用户上传头像&#xff0c…

一文浅析Linux 中断处理

1. 中断的概念 中断是指在CPU正常运行期间&#xff0c;由于内外部事件或由程序预先安排的事件引起的 CPU 暂时停止正在运行的程序&#xff0c;转而为该内部或外部事件或预先安排的事件服务的程序中去&#xff0c;服务完毕后再返回去继续运行被暂时中断的程序。Linux中通常分为…

js使用自定义监听事件

window.addEventListener(addEVENNT, () > { this.handleSearch(); });移除自定义事件window.removeEventListener(addEVENNT); 触发自定义事件window.dispatchEvent(new CustomEvent(addEVENNT));

药物滥用第四篇介绍

OXY&#xff1a; 羟考酮&#xff08;Oxycodone&#xff0c;OXY&#xff09;&#xff0c;分子式为C18H21NO4&#xff0c;是一种半合成的蒂巴因衍生物。羟考酮为半合成的纯阿片受体激动药&#xff0c;其作用机制与吗啡相似&#xff0c;主要通过激动中枢神经系统内的阿片受体而起镇…

paddle训练报错:assert len(pair) == 2, (“there can be only a = in the option“)

网上未发现有此错误解析&#xff0c;故记录&#xff1a; 是因为命令中的文件路径存在双引号&#xff0c;缺失了