如何在 nuxt 中安装和配置 vee-validate (v4)?

How to install and configure vee-validate (v4) in nuxt?

我很难理解将这个很棒的插件安装到 nuxt 的文档。据我所知,我很难相信,您必须将所有规则导出到一个插件文件中。我尝试导出一些规则,但是nuxt不知道ValidationObserver组件是什么

VeeValidate v4 与 Vue 2.x 不兼容,这意味着它不能与 Nuxt 一起使用 2.x,因为 vee-validate (v4) 仅针对 Vue 3 支持。

一般来说,使用 vee-validate v3,您确实需要在插件文件中注册您的规则,并全局注册 validation-observervalidation-provider 或在需要时导入它们。

我通过执行以下操作将 vee-validate v3 安装到 Nuxt 中:

npm install --save vee-validate

将此添加到 nuxt.config.js 中的 'plugins' 部分:

plugins: [
    { src: '~/plugins/vee-validate.js', ssr: true },
],

将此添加到 nuxt.config.js 中的 'build' 部分:

build: {
    transpile: ['vee-validate']
}

需要转译部分来消除关于 Unexpected token 'export' 的错误。它做了一些与 ES6 和 Babel 相关的事情,以便在将库加载到 Nuxt 之前预编译库。

这是我的 vee-validate.js 文件在插件目录中的样子:

import { extend, localize } from "vee-validate";
import { required, email, min } from "vee-validate/dist/rules";

const dictionary = {
    en: {
        messages: {
            required: () => '* Required',
        },
    },
};

// Install required rule.
extend("required", required);

// Install email rule.
extend("email", email);

// Install min rule.
extend("min", min);

localize(dictionary);