Vee Validate Custom Rules not working in Laravel. Uncaught (in promise) Error: No such validator 'xxx' exists

Vee Validate Custom Rules not working in Laravel. Uncaught (in promise) Error: No such validator 'xxx' exists

我已经用 VueJs 设置了一个 Laravel 作为 SPA。我还集成了 Vee Validate 来验证我所有的表单输入。 默认规则按预期工作。但是我似乎没有让我的自定义规则起作用。我总是收到错误消息:

Uncaught (in promise) Error: No such validator 'xxx' exists.

我遵循了这个教程:https://medium.com/@rafaelogic/creating-a-custom-rule-in-vue-vee-validate-83777b9a5126

我在 app.js 文件中导入了 Vee Validate 和自定义规则

里面 validators/index.js 我有以下内容

这是自定义“规则”- 仅用于在 validators/rules/number_of_electrical_feeds.js.

中进行测试

那是试图使用规则的组件 - 在 js/components/LuminaireLine/Form.js 中

我犯了什么错误?

你应该统一你的导入,vee-validatevee-validate/dist/vee-validate.full.esm 是两个不同的 dist 文件,因此每个都有自己的规则和生态系统。

您需要决定要使用哪个版本的 vee-validate 并且只从该 dist

导入所有内容

这包括 extend,以及您将导入的组件和基本上任何 vee-validate API。

import { ValidationProvider, ValidationObserver, extend } from 'vee-validate/dist/vee-validate.full.esm';

您可以配置一个 webpack 别名,使这对您来说更容易。