javascript - 为什么在使用 vee 验证表单关闭模式时出现 attach() 错误
问题描述
当我使用 vue.js 关闭包含 vee 验证的“更新”表单的引导模式 (bootstrap-vue) 时出现此错误。
main.js:477686 Uncaught (in promise) Error: [vee-validate] Validating a non-existent field: "#35". Use "attach()" first.
它发生在所有带有表单的模态上,因此导致它的任何一种形式都没有什么独特之处。我只是好奇在哪里查看为什么我会在更新表单时遇到同样的错误,因为引导模式正在关闭。如果这很重要,我正在使用 vee-validate v2。
解决方案
这是因为vee-validate v2
当它们被卸载时取消注册字段中的指令是当你的模态消失时发生的情况。
由于 vee-validate 异步执行验证,您的表单很可能在关闭之前触发验证尝试。如果您使用谴责验证,这一点尤其明显。
有多种方法可以解决它,如果您使用谴责验证,那么您可以将模式的关闭延迟谴责数量。否则,您可以使用nextTick
或Promise.resolve
关闭您的模式,这将允许它们在验证完成后关闭。
推荐阅读
- sql - 如何将不断将 00:00:00 作为时间的 DateTime 对象与另一个没有时间的对象进行比较?
- python - 将代码放入函数时 a 未定义
- c++ - 如何在 linux asm 中正确返回双精度值
- java - 递归计数素数 10,000
- spring-boot - 终端客户端如何发现在 Eureka 服务注册表中注册的服务?
- javascript - 在对象中添加名称包含递增索引的元素的最有效方法是什么?
- excel - VBA“LastRow”粘贴在彼此之上?
- java - 当 Path 中的第一个参数丢失时,多个 PathParams 不会失败
- cryptography - 数字指纹如何防止假公钥被传递?
- javascript - Node.js - 请求外的变量