elmentui 表单验证问题
<template>
<div class="container">
<el-form ref="ruleForm" :model="ruleForm" :rules="rules" label-width="150px">
<el-form-item label="礼包名称" prop="name">
<el-input v-model.trim="ruleForm.name"></el-input>
</el-form-item>
<el-form-item label="礼包金额(元)" prop="money">
<el-input-number
v-model="ruleForm.money"
:min="1"
controls-position="right"
style="width: 200px"
></el-input-number>
</el-form-item>
<el-form-item label="倒计时时间" prop="countDown">
<el-input-number
v-model="ruleForm.countDown"
:min="1"
controls-position="right"
style="width: 200px"
></el-input-number>
</el-form-item>
<el-form-item :rules="[
{ minTime: ruleForm.available_after, validator: validateRate, trigger: 'blur' },
{required: true, message: '上线时间', trigger: 'blur'},
]" label="上线时间" prop="available_after">
<el-date-picker
v-model="ruleForm.available_after"
format="yyyy-MM-dd HH:mm"
placeholder="选择上线时间"
size="small"
type="datetime"
value-format="timestamp"
></el-date-picker>
</el-form-item>
<el-form-item :rules="[
{ maxTime: ruleForm.available_before, validator: validateRate, trigger: 'blur' },
{required: true, message: '下线时间', trigger: 'blur'},
]" label="下线时间" prop="available_before">
<el-date-picker
v-model="ruleForm.available_before"
format="yyyy-MM-dd HH:mm"
placeholder="选择下线时间"
size="small"
type="datetime"
value-format="timestamp"
></el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForm('ruleForm')">确认</el-button>
</el-form-item>
</el-form>
</div>
</template>
<script>
export default {
data() {
return {
ruleForm: {
name: '',
money: '',
countDown: 1,
available_after: '',
available_before: ''
},
rules: {
name: [
{required: true, message: '请输入礼包名称', trigger: 'blur'},
],
money: [
{required: true, message: '请输入礼包金额', trigger: 'blur'},
],
countDown: [
{required: true, message: '请输入倒计时时间', trigger: 'blur'},
]
}
}
},
mounted() {
},
methods: {
submitForm(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
alert('submit!');
} else {
console.log('error submit!!');
return false;
}
});
},
validateRate(rule, value, callback) {
console.log(this.$refs.ruleForm.fields)
// this.$refs.ruleForm.fields[0].validateMessage ='error'
console.log(this.ruleForm.available_before <= this.ruleForm.available_after)
if (this.ruleForm.available_before === '' && this.ruleForm.available_after === '') {
callback(new Error('请选择时间'))
} else if (this.ruleForm.available_before == '' && this.ruleForm.available_after || this.ruleForm.available_after == '' && this.ruleForm.available_before) {
callback()
} else if (this.ruleForm.available_before <= this.ruleForm.available_after) {
callback(new Error('最小功率不能大于最大功率'))
} else {
if(this.$refs.ruleForm.fields[3].validateMessage){
this.$refs.ruleForm.fields[3].clearValidate();
}
if(this.$refs.ruleForm.fields[4].validateMessage){
this.$refs.ruleForm.fields[4].clearValidate();
}
callback();
}
}
},
computed: {}
}
</script>
主动触发错误提示操作
this.$refs.ruleForm.fields[4].validateMessage='';
//移除该表单项的校验结果
this.$refs.ruleForm.fields[4].clearValidate();
elmentui 表单验证问题的更多相关文章
- elment-ui表单验证
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-widt ...
- jQuery学习之路(8)- 表单验证插件-Validation
▓▓▓▓▓▓ 大致介绍 jQuery Validate 插件为表单提供了强大的验证功能,让客户端表单验证变得更简单,同时提供了大量的定制选项,满足应用程序各种需求.该插件捆绑了一套有用的验证方法,包括 ...
- 玩转spring boot——AOP与表单验证
AOP在大多数的情况下的应用场景是:日志和验证.至于AOP的理论知识我就不做赘述.而AOP的通知类型有好几种,今天的例子我只选一个有代表意义的“环绕通知”来演示. 一.AOP入门 修改“pom.xml ...
- form表单验证-Javascript
Form表单验证: js基础考试内容,form表单验证,正则表达式,blur事件,自动获取数组,以及css布局样式,动态清除等.完整代码如下: <!DOCTYPE html PUBLIC &qu ...
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(33)-MVC 表单验证
系列目录 注:本节阅读需要有MVC 自定义验证的基础,否则比较吃力 一直以来表单的验证都是不可或缺的,微软的东西还是做得比较人性化的,从webform到MVC,都做到了双向验证 单单的用js实现的前端 ...
- 实现跨浏览器html5表单验证
div:nth-of-type(odd){ float: left; clear: left; } .origin-effect > div:nth-of-type(even){ float: ...
- jQuery Validate 表单验证 — 用户注册简单应用
相信很多coder在表单验证这块都是自己写验证规则的,今天我们用jQuery Validate这款前端验证利器来写一个简单的应用. 可以先把我写的这个小demo运行试下,先睹为快.猛戳链接--> ...
- jquery validate表单验证插件-推荐
1 表单验证的准备工作 在开启长篇大论之前,首先将表单验证的效果展示给大家. 1.点击表单项,显示帮助提示 2.鼠标离开表单项时,开始校验元素 3.鼠标离开后的正确.错误提示及鼠标移入时的帮 ...
- 表单验证插件之jquery.validate.js
提到表单验证的插件,第一个想到的就是jquery.validate.js,所以小生想在这里稍微详细地说一下这款插件的具体使用方法,便于理解,我直接附上整段demo的代码(没怎么调样式,主要是看js): ...
- 走进AngularJs 表单及表单验证
年底了越来越懒散,AngularJs的学习落了一段时间,博客最近也没更新.惭愧~前段时间有试了一下用yeoman构建Angular项目,感觉学的差不多了想做个项目练练手,谁知遇到了一系列问题.yeom ...
随机推荐
- pyqt5中文教程
本文转载自:http://code.py40.com/pyqt5/ 一.PyQt5基本功能 简单的例子 PyQt5是一种高级的语言,下面只有几行代码就能显示一个小窗口.底层已经实现了窗口的基本功能. ...
- 课程表及事件提醒app-界面原型设计
前端设计: 暂定为8个主要界面:程序初始界面.主界面(首页).课表界面."我的"界面.登录界面.注册界面.创建事件界面.新建课表界面 设计思路: 项目结构 三个主要界面 首页: 课 ...
- NextCloud 17.0.1 升级到NextCloud 23.0.0
NextCloud 版本过低使用时间过长,想升级一下. 问题记录及参考文档 本次采用离线升级(在线不能下载) 官网下载https://nextcloud.com/install/# 23.0.0最新 ...
- UE4大地图(流关卡、无缝地图)
原作者:xiaosongfang 对于UE4来说我只是个菜鸟,研究一下网上的教程稍微尝试的做一下demo,所以可能下面会有描述不准确或者说没解释清的地方请多谅解哈.也非常欢迎指出我说的不对的地方一起学 ...
- NSA对下一代新技术的评估“网络透视”2010
时间线回到2010年,那时候做渗透测试流行找目标还是通过Google hack,Google dork去寻找目标比如inurl:asp?id= 寻找asp网站可利用的注入点,在厉害点一键爬取域名在配合 ...
- 新装Eclipse运行Java程序报错Exception in thread "main" java.lang.UnsupportedClassVersionError
错误现象: Exception in thread "main" java.lang.UnsupportedClassVersionError: views/LoginFram ...
- 通过一个简单的实例来展示 Java 编程,创建文件 HelloWorld.java
public class HelloWorld { public static void main(String[] args) { System.out.println("Hello Wo ...
- 在CentOS 7.4下配置VNC Server服务
安装步骤 1. 查询系统是否安装vnc-server [root@localhost ~]# rpm –qa | grep vnc 如果有返回值,类似于vnc-server-的值,说明已经安装了vnc ...
- 浅析Winform的可视样式
每一个C#的Winform项目的Main方法里,都有这么一行代码,那么它究竟是用来做什么的呢? Application.EnableVisualStyles(); 从注释来看,这是一行用作设置样式的代 ...
- 如何完整卸载catia?
如何完整卸载catia?完全彻底卸载删除干净catia各种残留注册表和文件的方法和步骤.如何卸载catia呢?有很多同学想把catia卸载后重新安装,但是发现catia安装到一半就失败了或者显示cat ...