为什么关闭带有vee验证格式的模态时会出现attach()错误

问题描述 投票:0回答:1

[当我使用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。

javascript vue.js bootstrap-modal bootstrap-vue vee-validate
1个回答
0
投票

这是因为vee-validate v2中的指令在卸载字段时会取消注册,这是模态消失时发生的情况。

由于vee-validate异步进行验证,因此您的表单很可能在关闭之前触发了验证尝试。如果您使用的是取消验证,则这一点尤其明显。

有多种解决方法,如果您使用的是斥责的验证,则可以将模式的关闭延迟斥责的数量。否则,您可以使用nextTickPromise.resolve关闭模态,这将使它们在验证完成后关闭。

© www.soinside.com 2019 - 2024. All rights reserved.