Validation 表单提交后重置验证
我得到了带有复选框的表单,我希望用户至少选择其中一个复选框。一切正常,但在重置表单后,我无法隐藏验证消息。 该案例在中有详细描述,但提供的解决方案似乎无效,因为在提交表单验证后会出现错误Validation 表单提交后重置验证,validation,vue.js,vee-validate,Validation,Vue.js,Vee Validate,我得到了带有复选框的表单,我希望用户至少选择其中一个复选框。一切正常,但在重置表单后,我无法隐藏验证消息。 该案例在中有详细描述,但提供的解决方案似乎无效,因为在提交表单验证后会出现错误 膳食类型 至少选择一种膳食类型 拯救 重置 从“/components/Playerd”导入游乐场; 导出默认值{ 名称:“应用程序”, 组成部分:{ 游乐场 }, 数据(){ 返回{ recipeName:“”, mealType:[] }; }, 方法:{ addRecipe(){ console.log
膳食类型
至少选择一种膳食类型
拯救
重置
从“/components/Playerd”导入游乐场;
导出默认值{
名称:“应用程序”,
组成部分:{
游乐场
},
数据(){
返回{
recipeName:“”,
mealType:[]
};
},
方法:{
addRecipe(){
console.log(“添加配方”);
//保存或重置后,警报应消失。。
这是.$refs.form.reset();
requestAnimationFrame(()=>{
这是。$refs.obs.reset();
});
}
}
};
使用复制的用例编码沙盒:
请选择一些膳食类型,然后单击“保存”。单击“保存”按钮后,表单将重置,并显示验证消息,但不应显示。如何解决此问题?找到了一个解决方法,该方法将帮助您解决此问题(使用
this.$refs.form.reset()
的原始版本),必须是一个bug,并应报告给VeeValidate解决
我发现使方法异步
,并手动重置变量使其工作正常
methods: {
async addRecipe() {
console.log("add recipe");
console.log(this.mealType);
this.mealType = [];
this.$refs.obs.reset();
}
}
似乎是一个错误,您应该在此处报告:
failedRules
未重置,但错误
是重置,这是文档使用的。我仍然不确定failedRules
是否存在错误,但您的解决方案似乎工作正常,谢谢!。不幸的是,它没有按预期工作。表单似乎在提交前重置,并返回空值。请参见添加的@kojot新解决方案