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 属性规定用于验证输入字段的模式.模式指的是正则表达式. ...
随机推荐
- CentOS / RHEL 7 更改时区
timedatectl 是 RHEL7 上的一项新功能.它可用于查询和更改系统时钟及其设置. 按照以下步骤将时区更改为中国.(以root用户身份执行以下命令). 1.使用以下命令列出所有可用的时区.你 ...
- 泡泡一分钟:eRTIS - A Fully Embedded Real Time 3D Imaging Sonar Sensor for Robotic Applications
eRTIS - A Fully Embedded Real Time 3D Imaging Sonar Sensor for Robotic Applications eRTIS - 用于机器人应用 ...
- Spring cloud微服务安全实战-6-3JWT改造之网关和服务改造
网关上认证去做哪些改造 在网关上用jwt去解析用户信息,而不再发送校验令牌的请求了. 之前的时候网关上实际上写了很多的代码 包括认证,发check_token去把token请求,换成用户信息. 这俩是 ...
- 【441】JSON format
Ref: json -- JSON encoder and decoder JSON(JavaScript Object Notation) can help us to see data mor ...
- Swift 4.0 Xib实现Button调整
1.Xib画的界面按钮,代码中进行调整按钮图片在上,文字在下: 代码中修改按钮的位置比较好: payButton.titleEdgeInsets = UIEdgeInsetsMake((payButt ...
- jquery分页展示控件:kkpager
kkpager v1.2 js分页展示控件,传入简单参数就能使用的分页效果控件 准备工作,引入js.css <script type="text/javascript" sr ...
- SQL网页端在线自定义查询工具
TreeSoft数据库管理系统,是用JAVA开发,基于网页的数据库SQL查询工具.功能包括:数据库的展示,库表的展示,表字段结构的展示,SQL语句的在 线编辑批量执行,表结构的在线设计维护,数据的在线 ...
- beego框架(golang)学习验证码
beego框架(golang)学习验证码 登录页面使用验证码 路由设置 /beego_admin_template/routers/router.go get请求页面, post验证用户名密码和验证码 ...
- Andrew Ng机器学习课程9
Andrew Ng机器学习课程9 首先以一个工匠为例,说明要成为一个出色的工匠,就需要掌握各种工具的使用,才能知道在具体的任务中选择什么工具来做.所以今天要讲的就是机器学习的理论部分. bias va ...
- Intellij IDEA 打包jar的多种方式
IDEA打包jar包的多种方式 用IDEA自带的打包形式 用Maven插件maven-shade-plugin打包 用Maven插件maven-assembly-plugin打包 1.view-> ...