elementUI表单验证
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表单验证的更多相关文章
- ElementUI表单验证使用
1.设计校验方式: 我们表单验证的rules一般封装一个单独的js文件,比如我之前写的这个博客: ElementUI使用问题记录:设置路由+iconfont图标+自定义表单验证 可以修改下:公共的校验 ...
- element-ui表单验证(电话,邮箱)
element-ui Form表单验证 最近刚好使用了element-ui的form表单,官网只提供的示例,这里把一些常用的验证记录下来,方便后期查找最终的效果是这样的, 这个表单里还加入了一下其他组 ...
- ElementUI表单验证攻略:解决表单项启用和禁用验证的切换,以及动态表单验证的综合性问题
试想一种比较复杂的业务场景: 表格(el-table)的每一行数据的第一列是勾选框,最后一列是输入框.当某一行的勾选框勾上时,启用该行的输入框,并开启该行输入框的表单验证:取消该行的勾选框,则禁用该行 ...
- ElementUi 表单验证失败后 页面滚动到表单验证失败位置
1.应用场景 当进行长表单验证时 用户填写到了单子的最下面 可是已经滚动过去的部分单子验证失败 为了友好的用户体验 这时候就需要滚动到验证失败位置 2.解决思路 elementUi本身并没有提供相关获 ...
- element-UI表单验证
转载自: 一.简单逻辑验证(直接使用rules) 实现思路 •html中给el-form增加 :rules="rules"•html中在el-form-item 中增加属性 pro ...
- element-ui表单验证无效解决
最近在项目中遇到了一个需求,需要动态增减表单元素,同时给新增的表单元素增加校验规则. element-ui官网给出了解决方案:点击新增按钮时,向循环渲染的数组中push新的对象,数据驱动视图,通过增加 ...
- 关于element-ui表单验证(自定义验证规则)
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-widt ...
- Element-UI 表单验证规则rules 配置参数说明
官方文档 : https://github.com/yiminghe/async-validator
- ElementUi rules表单验证
ElementUi 表单验证 工作中常用到的JS验证 可以在pattern中书写正则,并且配合elementUI进行表单验证. pattern 属性规定用于验证输入字段的模式.模式指的是正则表达式. ...
随机推荐
- Springboot项目mysql日期存储不匹配问题和在idea本地可以运行起来,但打包jar后运行报找不到mysql驱动的解决方案
修改pop.xml中scope的值,如果是具体版本号,修改为如下即可解决 <dependency> <groupId>mysql</groupId> <art ...
- ISO/IEC 9899:2011 条款6.7——声明
6.7 声明 语法 1.declaration: declaration-specifiers init-declarator-listopt ; static_assert-declar ...
- spring2.5 jdk1.8
今天运行一个14年基于spring2.5的项目,出现下面错误 Unexpected exception parsing XML document from class path resource .. ...
- 【NANO】引脚说明
http://bbs.eeworld.com.cn/forum.php?mod=viewthread&tid=489650&page=1
- 【GStreamer开发】GStreamer基础教程12——流
目标 直接播放Internet上的文件而不在本地保存就被称为流播放.我们在前面教程里已经这样做过了,使用了http://的URL.本教程展示的是在播放流的时候需要记住的几个点,特别是: 如何设置缓冲 ...
- 最新 迅游科技java校招面经 (含整理过的面试题大全)
从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.迅游科技等10家互联网公司的校招Offer,因为某些自身原因最终选择了迅游科技.6.7月主要是做系统复习.项目复盘.Leet ...
- 安卓app和苹果app共用一个二维码
应项目要求,现在安卓app和苹果app共用一个二维码,对外提供下载: <html> <head> <meta http-equiv="Content-Type& ...
- mysql查看正在运行的语句
mysql查看正在运行的语句 并且查看运行最多的mysql语句 MySQL 打开 general log 后,所有的查询语句都会记录在 general log 文件,文件为只读方式,但这样genera ...
- Deepin安装JavaFX
1.环境:JDK1.8(目前国内好用的版本里比较流行的是这个版本),deepin 15.11(linux内核是5.2.9,安装了大黄蜂驱动): 2.由于是用的JDK1.8,所以没法用最新的openjf ...
- 数据结构:队列queue 函数push() pop size empty front back
队列queue: push() pop() size() empty() front() back() push() 队列中由于是先进先出,push即在队尾插入一个元素,如:可以输出:Hello W ...