1、设计校验方式:

  我们表单验证的rules一般封装一个单独的js文件,比如我之前写的这个博客:

  ElementUI使用问题记录:设置路由+iconfont图标+自定义表单验证

  可以修改下:公共的校验写在公共里面,个性化的校验写在methods里面

  :rules="[rules.password,{validator:valPwd,trigger:'blur'}]"

//先导入公共验证文件
import {validator,getVeriCode} from '@/utils'
//data里面
data(){
return {rules:validator}
}
//在methods里面定义新的验证函数valPwd
methods:{
valPwd(rule, value, callback) {
if (!value) {
callback(new Error('请再次输入密码'));
} else if (value !== this.resetPassword.password) {
callback(new Error('两次输入密码不一致!'));
} else {
callback();
}
}
}
//template里面绑定验证规则
<el-form-item prop="repeatPassword" :rules="[rules.password,{validator:valPwd,trigger:'blur'}]">
<el-input type="password" v-model="resetPassword.repeatPassword" placeholder="重复密码"></el-input>
</el-form-item>

2、同时校验多个表单

  在保存某个页面时,让页面中的两个form都通过校验才能保存,方法其实挺多的,主要是看下这个Promise的写法

var p1=new Promise(function(resolve, reject) {
this.$refs[form1].validate((valid) => {
if(valid){
resolve();
}
})
});
var p2=new Promise(function(resolve, reject) {
this.$refs[form2].validate((valid) => {
if(valid){
resolve();
}
})
}); Promise.all([p2,p1]).then(function(){
alert("验证通过了");
});

3、只验证表单里面部分内容:比如我们需要获取验证码的时候,就只需要验证表单里面的手机号就行了

getCode(){
this.$refs['resetPassword'].validateField('phone',(validMessage)=>{
if(validMessage != ""){
return false;
}
this.codeDisabled = true;
let countTime = setInterval(() => {
--this.countdown;
if(this.countdown == ){
clearTimeOut(countTime);
this.countdown = ;
this.codeDisabled = false;
return;
}
},);
})
}

  看文档里面都有的

  我们也可以封装一下

//获取验证码
export const getVeriCode = (vueInstance,formName,phone) => {
vueInstance.$refs[formName].validateField('phone',(validMessage)=>{
if(validMessage != ""){
return false;
} getVeriCodeApi(phone).then((res) =>{
if(res.status === ){
vueInstance.$message({
message:'验证码已发送,请注意查收。',
type:'success'
})
}
}) vueInstance.codeDisabled = true;
let countTime = setInterval(() => {
--vueInstance.countdown;
if(vueInstance.countdown == ){
clearInterval(countTime);
vueInstance.countdown = ;
vueInstance.codeDisabled = false;
return;
}
},);
})
}
//调用
getCode(){
getVeriCode(this,'login_code',this.login_code.phone)
},

ElementUI表单验证使用的更多相关文章

  1. elementUI表单验证

    elementUI表单验证非常方便,我们直奔主题: <template> <el-form ref="orderForm" :model="orderF ...

  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. Bzoj1202/洛谷P2294 [HNOI2005]狡猾的商人(带权并查集/差分约束系统)

    题面 Bzoj 洛谷 题解 考虑带权并查集,设\(f[i]\)表示\(i\)的父亲(\(\forall f[i]<i\)),\(sum[i]\)表示\(\sum\limits_{j=fa[i]} ...

  2. php 5.6 安装openssl extension 出现编译错误

    废话不多说,直接上问题: PHP和openssl extension都是最新版本的,标准步骤安装时候出现如下问题: php:php-5.6.27 openssl:openssl-1.1.0e ==== ...

  3. ZXing.Net.Mobile无法识别较大的条码

    ZXing.Net.Mobile无法识别较大的条码 在Xamarin项目中,使用ZXing.Net.Mobile实现条码扫描时,可能会出现无法顺利识别较大的条码,而可以正常识别较小的条码.这是由于ZX ...

  4. Vue 2.0学习(六)内置指令

    基本指令 1.v-cloak v-cloak不需要表达式,它会在Vue实例结束编译时从绑定的HTML元素上移除,经常和CSS的display:none配合使用. <div id="ap ...

  5. 【BZOJ 4027】 4027: [HEOI2015]兔子与樱花 (贪心)

    4027: [HEOI2015]兔子与樱花 Description 很久很久之前,森林里住着一群兔子.有一天,兔子们突然决定要去看樱花.兔子们所在森林里的樱花树很特殊.樱花树由n个树枝分叉点组成,编号 ...

  6. Eigen学习笔记1:在VS2015下Eigen(矩阵变换)的配置

    一.Eigen简介 Eigen是一个高层次的C ++库,有效支持线性代数,矩阵和矢量运算,数值分析及其相关的算法. Eigen适用范围广,支持包括固定大小.任意大小的所有矩阵操作,甚至是稀疏矩阵:支持 ...

  7. [HNOI2006]最短母串问题 --- AC自动机 + 隐式图搜索

    [HNOI2006]最短母串问题 题目描述: 给定n个字符串(S1,S2.....,Sn),要求找到一个最短的字符串T,使得这n个字符串(S1,S2,......,Sn)都是T的子串. 输入格式: 第 ...

  8. 【期望DP】BZOJ4008- [HNOI2015]亚瑟王

    题目大意 有\(n\)张卡牌,\(r\)轮游戏.每张卡牌只能用至多一次,每张卡牌被用到的概率为\(p_i\).现在从左往右轮,直到最右一张卡片或者某张卡片被用到.如果某张卡牌被用到,产生\(d_i\) ...

  9. bzoj 4439: [Swerc2015]Landscaping -- 最小割

    4439: [Swerc2015]Landscaping Time Limit: 2 Sec  Memory Limit: 512 MB Description FJ有一块N*M的矩形田地,有两种地形 ...

  10. codeforces VK Cup 2015 - Qualification Round 1 B. Photo to Remember 水题

    B. Photo to Remember Time Limit: 1 Sec  Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/522/ ...