Vue Element如何实现表单校验功能?
- 内容介绍
- 文章标签
- 相关推荐
本文共计527个文字,预计阅读时间需要3分钟。
要实现这个功能其实并不难,element组件直接使用即可。但在使用过程中,我遇到了几个坑,以下记录下来分享给大家,避免踩坑。
功能实现:实现这个功能,总体来说分两部分:
1. 实现功能
2.共享分页
具体步骤如下:
1. 使用element组件实现分页功能
2.将分页数据共享到全局状态管理(如Vuex)
3.在需要分页的组件中,从全局状态管理获取分页数据,并展示
这样,就可以实现分页功能的共享和复用。
要实现这个功能其实并不难,element组件直接用就可以,
但是我在使用过程中碰到了几个坑,就记录下来,分享给大家,避免落坑,话不多说,直接上过程......
表单校验功能:
实现这个功能,总共分为以下4布:
1.在el-form标签中定义:rules="rules";ref="reference"
2.在el-form-item定义prop="name";
3.在选项data中定义rules校验规则;
4.在提交方法中检查用户行为
template代码:
<el-form :model="Opinion" ref="MyOpinion" :rules="rules" size="small" class="lj-form lj-form-s1" > <el-form-item label="审核意见: " prop="txt" style="margin-bottom:25px;"> <el-input type="textarea" :rows="5" v-model="Opinion.txt"></el-input> </el-form-item> </el-form>
data定义数据代码:
data() { return { Opinion: { radio: "1", txt: "", value: "" }, rules: { txt: [{ required: true, message: "请输入审核意见", trigger: "blur" }] } }; },
methods方法代码:
async approval() { let _this = this; this.$refs.MyOpinion.validate(async valid => { if (valid) { const res2 = await _this.$axios.post(`/approve/approve_refuse`, { ...obj }); if (res2.data.error == 0) { _this.$message.success(res2.data.message); } _this.innerVisible = false; _this.visibleApply = false; } }); }
注意点:①定义prop的时候,值要求是属于form绑定的model数据对象里面,同时名字要一样;
②data中定义rules要在定义表单的数据之后(我一般放在data的最后面)
总结
以上所述是小编给大家介绍的vue+element实现表单校验功能,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!
本文共计527个文字,预计阅读时间需要3分钟。
要实现这个功能其实并不难,element组件直接使用即可。但在使用过程中,我遇到了几个坑,以下记录下来分享给大家,避免踩坑。
功能实现:实现这个功能,总体来说分两部分:
1. 实现功能
2.共享分页
具体步骤如下:
1. 使用element组件实现分页功能
2.将分页数据共享到全局状态管理(如Vuex)
3.在需要分页的组件中,从全局状态管理获取分页数据,并展示
这样,就可以实现分页功能的共享和复用。
要实现这个功能其实并不难,element组件直接用就可以,
但是我在使用过程中碰到了几个坑,就记录下来,分享给大家,避免落坑,话不多说,直接上过程......
表单校验功能:
实现这个功能,总共分为以下4布:
1.在el-form标签中定义:rules="rules";ref="reference"
2.在el-form-item定义prop="name";
3.在选项data中定义rules校验规则;
4.在提交方法中检查用户行为
template代码:
<el-form :model="Opinion" ref="MyOpinion" :rules="rules" size="small" class="lj-form lj-form-s1" > <el-form-item label="审核意见: " prop="txt" style="margin-bottom:25px;"> <el-input type="textarea" :rows="5" v-model="Opinion.txt"></el-input> </el-form-item> </el-form>
data定义数据代码:
data() { return { Opinion: { radio: "1", txt: "", value: "" }, rules: { txt: [{ required: true, message: "请输入审核意见", trigger: "blur" }] } }; },
methods方法代码:
async approval() { let _this = this; this.$refs.MyOpinion.validate(async valid => { if (valid) { const res2 = await _this.$axios.post(`/approve/approve_refuse`, { ...obj }); if (res2.data.error == 0) { _this.$message.success(res2.data.message); } _this.innerVisible = false; _this.visibleApply = false; } }); }
注意点:①定义prop的时候,值要求是属于form绑定的model数据对象里面,同时名字要一样;
②data中定义rules要在定义表单的数据之后(我一般放在data的最后面)
总结
以上所述是小编给大家介绍的vue+element实现表单校验功能,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

