elementUI表单验证非常方便,我们直奔主题:

<template>
<el-form ref="orderForm" :model="orderForm" :rules="addRules" label-width="100px">
<el-form-item label="联系人:" prop="contact">
<el-input v-model="orderForm.contact" type="text" placeholder="请输入联系人名称"></el-input>
</el-form-item>
<el-form-item label="联系电话:" prop="phone">
<el-input v-model="orderForm.phone" type="text" placeholder="请输入联系电话"></el-input>
</el-form-item>
</el-form>
</template>
<script>
export default {
data() {
let validateContact = (rules, value, callback) => {
if (value === '') {
callback(new Error('请输入联系人姓名'));
} else {
// 中文或英文、数字正则
let regExpr = /^[a-zA-Z0-9 \u4e00-\u9fa5]+$/;
if(!regExpr.test(value)){
callback(new Error('联系人输入不正确'));
} else if(value && value.trim().length>30) {
callback(new Error('长度超出限制'));
} else {
this.correct = true; // 标记contact是否校验通过
callback();
}
}
};
let validPhone = (rules, value, callback) => {
if (value === '') {
callback(new Error('请输入手机号'));
} else {
if(value){
value = value.trim();
}
let TEL_REGEXP = /^1([38][0-9]|4[579]|5[0-3,5-9]|6[6]|7[0135678]|9[89])\d{8}$/;
if(TEL_REGEXP.test(value)) {
callback(new Error('手机号格式不正确'));
} else {
this.phoneCorrect = true; // 标记手机号码校验正确
callback();
}
}
};
return {
orderForm: {
contact: "",
phone: "",
},
addRules: {
contact: [{ required: true, validator: validateContact, trigger: 'blur'}],
phone: [{required: true, validator: validPhone, trigger: 'blur'}],
},
correct: false, // 校验是否正确
phoneCorrect: false, // 校验手机号码是否正确
}
}
}
</script>

1、验证表单中的某个字段:

// 验证contact字段
this.$refs.orderForm.validateField("contact", () => {
console.log(this.correct);
});
// 验证phone字段
this.$refs.orderForm.validateField("phone", () => {
console.log(this.phoneCorrect);
});

2、验证整个表单:(在提交订单前验证)

this.$refs.orderForm.validate(function (valid){
if(valid){
// TO DO
}
});

3、表单重置:

this.$refs.orderForm.resetFields();

elementUI表单验证的更多相关文章

  1. ElementUI表单验证使用

    1.设计校验方式: 我们表单验证的rules一般封装一个单独的js文件,比如我之前写的这个博客: ElementUI使用问题记录:设置路由+iconfont图标+自定义表单验证 可以修改下:公共的校验 ...

  2. element-ui表单验证(电话,邮箱)

    element-ui Form表单验证 最近刚好使用了element-ui的form表单,官网只提供的示例,这里把一些常用的验证记录下来,方便后期查找最终的效果是这样的, 这个表单里还加入了一下其他组 ...

  3. ElementUI表单验证攻略:解决表单项启用和禁用验证的切换,以及动态表单验证的综合性问题

    试想一种比较复杂的业务场景: 表格(el-table)的每一行数据的第一列是勾选框,最后一列是输入框.当某一行的勾选框勾上时,启用该行的输入框,并开启该行输入框的表单验证:取消该行的勾选框,则禁用该行 ...

  4. ElementUi 表单验证失败后 页面滚动到表单验证失败位置

    1.应用场景 当进行长表单验证时 用户填写到了单子的最下面 可是已经滚动过去的部分单子验证失败 为了友好的用户体验 这时候就需要滚动到验证失败位置 2.解决思路 elementUi本身并没有提供相关获 ...

  5. element-UI表单验证

    转载自: 一.简单逻辑验证(直接使用rules) 实现思路 •html中给el-form增加 :rules="rules"•html中在el-form-item 中增加属性 pro ...

  6. element-ui表单验证无效解决

    最近在项目中遇到了一个需求,需要动态增减表单元素,同时给新增的表单元素增加校验规则. element-ui官网给出了解决方案:点击新增按钮时,向循环渲染的数组中push新的对象,数据驱动视图,通过增加 ...

  7. 关于element-ui表单验证(自定义验证规则)

    <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-widt ...

  8. Element-UI 表单验证规则rules 配置参数说明

    官方文档 : https://github.com/yiminghe/async-validator

  9. ElementUi rules表单验证

    ElementUi 表单验证 工作中常用到的JS验证 可以在pattern中书写正则,并且配合elementUI进行表单验证. pattern 属性规定用于验证输入字段的模式.模式指的是正则表达式. ...

随机推荐

  1. 【转载】 漫谈Code Review的错误实践

    原文地址: https://www.cnblogs.com/chaosyang/p/code-review-wrong-practices.html ------------------------- ...

  2. Microsoft VBScript 运行时错误 错误 800a005e 无效使用 Null: Replace

    查看数据库   表的字段里面是否有空的字段. where 字段名 is null

  3. Qt Http get

    1.直接建立连接,向网站发送http请求 QNetworkAccessManager *accessManager = new QNetworkAccessManager(this); connect ...

  4. Hadoop记录-HDFS均衡脚本

    #!/bin/bash #作用:hdfs使用率取最大100个主机和最小80个主机进行数据均衡 #打印报告 hdfs dfsadmin -report>report.txt #截取主机名 cat ...

  5. locust设置断言的方法

    https://blog.csdn.net/panyu881024/article/details/80146088 这里同样以测试百度首页为例. catch_response = True :布尔类 ...

  6. Spring Cloud与Docker微服务架构实战 PDF版 内含目录

    Spring Cloud与Docker微服务架构实战  目录 1 微服务架构概述 1 1.1 单体应用架构存在的问题1 1.2 如何解决单体应用架构存在的问题3 1.3 什么是微服务3 1.4 微服务 ...

  7. Spring Cloud Config 分布式配置管理 5.3

    Spring Cloud Config简介 在传统的单体式应用系统中,我们通常会将配置文件和代码放在一起,但随着系统越来越大,需要实现的功能越来越多时,我们又不得不将系统升级为分布式系统,同时也会将系 ...

  8. [ kvm ] 学习笔记 9:WebVirtMgr 基础及安装使用

    目录- 1. 前言- 2. webvirtmgr 简介- 3. webvirtmgr 部署实践    - 3.1 配置 webvirtmgr 主机    - 3.2 kvm node节点配置    - ...

  9. python那些事儿

    一.探索python 1.尝试安装python3 https://www.python.org/downloads/mac-osx/ 2.问题 安装了3.7,但是python -V还显示2.7.10. ...

  10. 13点睛Spring4.1-Spring EL

    13.1 Spring EL Spring EL-Spring表达式语言,支持在xml和注解中使用表达式,类似jsp的EL表达式语言; 本教程关注于在注解中使用Spring EL; Spring EL ...