elementUI中的el-form怎么使用正则进行验证
http://element.eleme.io/#/zh-CN/component/form里给出了一个form验证的例子,但是都是使用el-form带有的验证规则,怎么使用自己定义的规则进行验证呢?:
.vue的html不变,只是在.ts中的验证中添加自己定义的规则,比如
.vue中
<el-form ref="newUser" :model="newUser" :rules="newUserRule" class="login-container">
<el-row>
<el-col :span="10">
<el-form-item prop="userId">
<el-input v-model="newUser.userId" placeholder="请输入sso用户名字">
<template slot="append">@gridsum.com</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="3" :offset="1">
<el-select v-model="newUser.roleType">
<el-option :value="0" :label="roleText[0]"></el-option>
<el-option :value="1" :label="roleText[1]"></el-option>
</el-select>
</el-col>
<el-col :span="2" :offset="1">
<el-button type="primary" @click="addUser()">添 加</el-button>
</el-col>
</el-row>
</el-form>
注意:
1. el-form-item的 prop="userId"跟el-input的v-model="newUser.userId"要对应
2. prop一定要写在el-form-item上
3. :rules一定要写在el-form上
.ts中
newUserRule = {
userId: [
{ required: true, message: '请输入账号', trigger: 'blur' },
{
validator: (rule, value, callback) => {
if (/^[a-zA-Z]{4,20}$/.test(value) == false) {
callback(new Error("用户名由4-20位字母组成"));
} else {
callback();
}
}, trigger: 'blur' //这里还有blur触发方法; 如果设为none,那么只有this.$refs[formName]['validate']时才会验证
} ] };
提交表单时,先进性验证是否通过,再进行其他操作,具体实现,给出的链接里面有,但是使用ts的话如果没有声明文件,会提示validate等方法不存在,可以自己去声明,或者换种思路解决:
addUser() {
/* this.$refs[formName]['validate']((valid) => {
if (valid) {
alert('submit!');
} else {
console.log('error submit!!');
return false;
}
}); */
if (this.newUser.userId == '') {
this.$message.error('用户名不能为空!');
} else if(/^[a-zA-Z]{4,20}$/.test(this.newUser.userId) == false) {
this.$message.error('用户名不正确!');
} else {
//此处可以进行后台提交
}
}
elementUI中的el-form怎么使用正则进行验证的更多相关文章
- ElementUI中如何实现Form表单内的文字居中
<el-table :data='orderList' border stripe :align='center' :cell-style='cellStyle' :header-cell-st ...
- element-ui中关闭对话框清空验证,清除form表单数据
对于elementUI中对话框,点击对话框和关闭按钮 怎么清空验证,清空form表单,避免二次点击还会有 验证错误的提示.今天终于自己查资料解决了,分享给大家 1.首先在你的对话框 取消按钮 加一个c ...
- vue+elementUI中单选框el-radio设置默认值和唯一标识某个单选框
vue+elementUI中单选框el-radio设置默认值 如果后台返回的单选框的值是number:单选框的lable需要设置成 :lable='0';如下: <el-form-item la ...
- Element-ui 中对表单进行验证
Element-ui 中对表单(Form)绑定的对象中的对象属性进行校验 如果是直接绑定属性,是可以的,但是绑定对象中的属性就需要特别处理,需要在rules中添加双引号 " "或者 ...
- js 中使用el表达式 关键总结:在js中使用el表达式一定要使用双引号
js 中使用el表达式 关键总结:在js中使用el表达式一定要加双引号 js控制中用到了el表达式,最开始源码如下: var selected = ${requestScope.xxxxForm.re ...
- HTML 中按钮作为form表单元素提交特性两则 --- 参HTML考标准分析
相同name的submit 类型的input提交行为 描述 这种情况, <input type="submit" name="ACTION" value= ...
- 谈谈Backbone.js中的el
小编最近开始接触backbone.js,这个曾经非常优秀的一款MVC前端框架,在学习的过程中,遇到下图的这样一个问题 下面上代码 小编的想法很简单,只是view了一个实例,然后在initalize中调 ...
- js文件中使用EL表达式的问题
var str = '${str}' ; var str = '${obj.属性名}'; 只可以再jsp页面的<script></script>中使用,外部引入的js文件中不能 ...
- [ExtJS5学习笔记]第十九节 Extjs5中通过设置form.Panel的FieldSet集合属性控制多个field集合
本文地址:http://blog.csdn.net/sushengmiyan/article/details/39209533 官方例子:http://docs.sencha.com/extjs/5. ...
- 关于ElementUI中MessageBox弹框的取消键盘触发事件(enter,esc)关闭弹窗(执行事件)的解决方法
好久没见了 在项目中遇到一个小小的需求,总结了一下! 详细我就不介绍了,相信大家用过的话,很了解.详见文档-----------> http://element-cn.eleme.io/#/zh ...
随机推荐
- JS apply 和 call 的实现
很早之前的一篇博客写了bind的实现,是基于apply的,感兴趣的朋友看完这篇文章可以接着看看bind的实现. apply 和 call 主要就是传参的区别.这里就不多说了,直接看代码. //call ...
- ABAP术语-Lock Argument
Lock Argument 原文:http://www.cnblogs.com/qiangsheng/archive/2008/02/29/1085717.html Locked fields in ...
- MyEclipse格式化JSP代码,其中Javascript无法格式化的原因
MyEclipse格式化JSP代码,其中Javascript无法格式化的原因: 可能是JSP页面代码有错误的地方,而且可能是一个很微小的错误,比如多写了一个标点符号,这个需要仔细检查,包括HTML.C ...
- Apache Maven(五):插件
Maven的插件分如下两种: build plugins:该插件在项目构建阶段执行,它们都在<build>标签中设置. reporting plugins : 该插件在网站生成期间执行,他 ...
- Phpstudy2018 集成环境配置虚拟域名访问到Index Of 下
(1) Phpstudy是一款php集成开发环境 可随意切换Php的版本以及服务器. Phpstudy的网站根目录默认为WWW目录,那么如果我们想通过虚拟域名访问到Index Of目录来便于查看 ...
- 学习新框架laravel 5.6 (第二天)-DB,控制器及模型使用
DB类使用,控制器使用及模型使用 链接数据库: /config/database.php /.env DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=330 ...
- kafka概述
kafka概述 Apache Kafka是一个开源 消息 系统,由Scala写成.是由Apache软件基金会开发的一个开源消息系统项目. Kafka最初是由LinkedIn开发,并于2011年初开源. ...
- python之三元运算
三元运算(三目运算):用于较简单的判断(if else). if True: return s = "aaaa" else: return s = "bbbb&quo ...
- uva 253 - Cube painting(相同骰子)
习题4-4 骰子涂色(Cube painting, UVa 253) 输入两个骰子,判断二者是否等价.每个骰子用6个字母表示,如图4-7所示. 图4-7 骰子涂色 例如rbgggr和rggbgr分别表 ...
- [BZOJ1455]罗马游戏(左偏树)
用并查集和左偏树维护士兵的关系 Code #include <cstdio> #include <algorithm> #define N 1000010 using name ...