vue+element表单校验功能

Posted jun-qi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue+element表单校验功能相关的知识,希望对你有一定的参考价值。

要实现这个功能其实并不难,element组件直接用就可以,

但是我在使用过程中碰到了几个坑,就记录下来,分享给大家,避免落坑,话不多说,直接上过程......

表单校验功能:

 技术图片

 

实现这个功能,总共分为以下4布:

  1. 在el-form标签中定义:rules="rules";ref="reference"
  2. 在el-form-item定义prop="name";
  3. 在选项data中定义rules校验规则;
  4. 在提交方法中检查用户行为

template代码:

 1 <el-form
 2           :model="Opinion"
 3           ref="MyOpinion"
 4           :rules="rules"
 5           size="small"
 6           class="lj-form lj-form-s1"
 7         >
 8           <el-form-item label="审核意见: " prop="txt" style="margin-bottom:25px;">
 9             <el-input type="textarea" :rows="5" v-model="Opinion.txt"></el-input>
10           </el-form-item>
11         </el-form>

data定义数据代码:

 1   data() {
 2     return {
 3 Opinion: {
 4         radio: "1",
 5         txt: "",
 6         value: ""
 7       },
 8       rules: {
 9         txt: [{ required: true, message: "请输入审核意见", trigger: "blur" }]
10       }
11     };
12   },

methods方法代码:

 1 async approval() {
 2       let _this = this;
 3 this.$refs.MyOpinion.validate(async valid => {
 4           if (valid) {
 5             const res2 = await _this.$axios.post(`/approve/approve_refuse`, {
 6               ...obj
 7             });
 8             if (res2.data.error == 0) {
 9               _this.$message.success(res2.data.message);
10             }
11             _this.innerVisible = false;
12             _this.visibleApply = false;
13           }
14         });
15 }
  注意点:①定义prop的时候,值要求是属于form绑定的model数据对象里面,同时名字要一样;
      ②data中定义rules要在定义表单的数据之后(我一般放在data的最后面)

以上是关于vue+element表单校验功能的主要内容,如果未能解决你的问题,请参考以下文章

vue+Element表单验证之滚动条定位到校验未通过的表单控件的位置

vue+axios+element+ui实现手机发送验证码及校验验证码功能

用vue + element-ui在表单验证的时候怎么调用后台接口进行异步校验

vue elementUI表单的常用校验

Vue element表单校验规则放入computed

Vue -- 2/100element-ui 表单校验规则的应用