Vue 清除Form表单校验信息的解决方法(清除表单验证上次提示信息)
问题描述
在Vue项目中使用Form组件进行表单验证,再次打开该表单时,上次的验证提示信息依然存在,业务场景要求再次打开该表单时清除验证提示信息和绑定的数据。
解决办法
在控制表单显隐的方法内加入以下代码即可实现:
1.使用Iview中的Form组件:清除表单的验证提示信息与字段值
resetFields()
方法:对整个表单进行重置,将所有字段值重置为空并移除校验结果。
//form指的是绑定到Form组件上的属性ref this.$nextTick(()=>{ this.$refs.form.resetFields(); })
Iview组件库中没有提供clearValidate()
方法,不要和Element Ui混淆。
2.使用Element Ui中的Form组件
2.1 只清除表单验证提示信息,不清除字段值
clearValidate()
方法:移除表单项的校验结果。传入待移除的表单项的 prop 属性或者 prop 组成的数组,如不传则移除整个表单的校验结果。
//1.清除所有表单项的验证提示信息 this.$nextTick(()=>{ this.$refs.form.clearValidate(); }) //2.清除某一表单项的验证提示信息,如手机号 this.$nextTick(()=>{ this.$refs.form.clearValidate(['phone']); })
注:clearValidate()
方法使用清除某一表单项的提示信息时,注意安装的Element Ui版本:Element Ui^2.4.3及后续版本才支持传入参数。
2.2 清除表单验证提示信息和字段值
resetFields()
方法:对整个表单进行重置,将所有字段值重置为初始值并移除校验结果。
this.$nextTick(()=>{ this.$refs.form.resetFields(); })
注意
想要清除信息的字段必须添加prop属性。prop
:对应表单域 model 里的字段
<FormItem label="Name" prop="name"> <Input v-model="formValidate.name" placeholder="输入您的姓名"></Input> </FormItem>
到此这篇关于Vue 清除Form表单校验信息 清除表单验证上次提示信息的文章就介绍到这了,更多相关Vue 清除Form表单校验信息 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
- vue用elementui写form表单时,在label里添加空格操作
- vue+ElementUI 关闭对话框清空验证,清除form表单的操作
- vue elementui el-form rules动态验证的实例代码详解
- vue elementui form表单验证的实现
- Vue ElementUI之Form表单验证遇到的问题
- Vue3 + elementplus实现表单验证+上传图片+ 防止表单重复提交功能
- vue表单验证rules及validator验证器的使用方法实例
- 详谈vue中的rules表单验证(常用)
- Vue3实现登录表单验证功能
- vue表单验证自定义验证规则详解
- vue3在table里使用elementUI的form表单验证的示例代码
最新评论