1

我在我的 Vue 2 应用程序中使用了带有 Option API 的 formvalidation.io 插件,但后来我将 Vue 版本更新为 3 并开始使用 Composition API,但它不再工作了。

这是我导入 formvalidation.io 插件的方式。

import formValidation from '@/assets/plugins/formvalidation/dist/es6/core/Core';
// FormValidation plugins
import Icon from '@/assets/plugins/formvalidation/dist/es6/plugins/Icon';
import Trigger from '@/assets/plugins/formvalidation/dist/es6/plugins/Trigger';
import Bootstrap from '@/assets/plugins/formvalidation/dist/es6/plugins/Bootstrap';
import SubmitButton from '@/assets/plugins/formvalidation/dist/es6/plugins/SubmitButton';

然后在我的setup()函数中,我正在创建一个验证实例。

const validation = formValidation(
   _signupForm,
   {
      fields: {
         ...
      },
      plugins: {
         trigger: new Trigger(),
         bootstrap: new Bootstrap(),
         icon: new Icon({
            valid: 'fa fa-check',
            invalid: 'fa fa-times',
            validating: 'fa fa-refresh'
         }),
         submitButton: new SubmitButton(),
       }
    
   }
);

我使用它的方式与官方文档中显示的方式相同: https ://formvalidation.io/guide/examples/integrating-with-vue

当我打开应用程序时,我在浏览器控制台中收到此错误。

classSet.js?c52a:1 Uncaught (in promise) TypeError: Cannot read property 'classList' of null
   at eval (classSet.js?c52a:1)
   at Array.forEach (<anonymous>)
   at s (classSet.js?c52a:1)
   at eval (classSet.js?c52a:1)
   at Array.forEach (<anonymous>)
   at c (classSet.js?c52a:1)
   at s.install (Framework.js?e18a:1)
   at l.registerPlugin (Core.js?b275:1)
   at eval (Core.js?b275:1)
   at Array.forEach (<anonymous>)

我猜 formValidation.io 不支持 vue3,但我没有找到任何有关它的信息。

你能帮我吗?

4

0 回答 0