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 ... 
随机推荐
- Lazarus 开发环境使用技巧
			Lazarus 开发环境使用技巧 1.代码补全 按下键盘的Ctrl+W键!输入变量后按下这个键就OK啦- 2.自动完成 自动完成的快捷键大多数都冲突了,解决方法是打开 工具(T)->选项...- ... 
- Flink Table API & SQL 自定义Redis Sink 代码实现
			在自定义source&sink这一块官方给的说明并不是很多,需要去看源代码熟悉,自己实现一个redis sink主要需要实现StreamTableSinkFactory,RichSinkFun ... 
- idea启动项目,报java.lang.OutOfMemoryError: PermGen space 和启动项目很慢的问题解决
			启动一个老的项目,报错,查是内存溢出 进入 VM options 加上 -Xms256m -Xmx256m -XX:MaxNewSize=256m -XX:MaxPermSize=256m 在 ... 
- CSS的拾遗(1)
			CSS的拾遗(1) 1.padding: (1)定义:在一个声明中设置所有内边距属性 (2)用法: 例子 1:上,右,下,左 padding:10px 5px 15px 20px; 上内边距是 10p ... 
- 【服务器数据恢复】RAID6数据恢复案例
			服务器数据恢复环境:一台Web服务器中有一组由8块磁盘组建的raid6磁盘阵列,用来运行数据库和存储普通办公文件. 服务器故障:服务器raid6磁盘阵列中有两块硬盘离线,但是管理员没有注意到这种情况, ... 
- Angular中播放RTSP
			要使用这个库需要先安装 我使用了npm来安装 https://www.npmjs.com/package/webrtc-streamer 需要启动webrtc-streamer后端,这里有下载地址 h ... 
- SVN: E155004: THERE ARE UNFINISHED WORK ITEMS IN ''; RUN 'SVN CLEANUP' FIRST
			eclipse的SVN更新或者还原都报错 使用clean up也不好用 解决办法 通过网址https://www.sqlite.org/download.html下载这个软件 解压放到.svn文件夹下 ... 
- usb 2.0 high speed resetting signaling.
- 2022 icpc 沈阳站 记录(非题解)
			赛前 大概是赛前三周才突然知道拥有了比赛机会. 赛前训练和vp频率很高,有一段时间cf上都是绿的.比赛的那一周只有一天没在vp,到了周六热身赛我人都有点麻木.(可能正赛也是类似的状态吧) 比赛的过程b ... 
- UART4模板
			#define UART4_Bps 9600 #define UART4_RecSize 20 uchar UART4_RecData[UART4_RecSize];uchar UART4_Loc; ... 
