求助前端大佬,表单验证this.$refs["formMenu"].validate()总是返回false的问题
在一次重新下载node_modules包之后,所有页面的保存更新提交按钮全都失效了,调试了一下,发现验证方法总是返回false。
代码如下:
handleSubmitMenu() {
let valid = this.validateMenuForm();
console.log("最终的valid:"+valid);
if (valid) {
if (this.formModel.mode === "create") {
this.doCreateMenu();
}
if (this.formModel.mode === "edit") {
this.doEditMenu();
}
}
},
validateMenuForm() {
let _valid = false;
console.log("formMenu object:"+this.$refs["formMenu"]);
console.log("formMenu status:"+this.$refs["formMenu"].validate());
console.log("formMenu object:"+this.$refs.formMenu);
console.log("formMenu status:"+this.$refs.formMenu.validate());
this.$refs["formMenu"].validate(
valid => {
if (!valid) {
console.log("valid if:"+valid)
this.$Message.error(this.$t('请完善信息'));
_valid = false;
} else {
console.log("valid else:"+valid)
_valid = true;
console.log("_valid else:"+_valid)
}
});
console.log("最终:_valid:"+_valid)
return _valid;
},
我实在看不出代码有啥问题,如果我没完成必要的信息时,能够进if语句提醒,完善信息之后再提交,则验证方法里的else字句的代码总是返回不对。
表单未完善时的执行log:
表单完善时的执行log:
使用的是Vue的iview-admin框架,求助,万分感谢!!!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
elForm的
validate
方法的回调并不是同步的,而是在Promise中,所以你这么写肯定是不对的