Vee Проверяет, что пользовательские правила не работают в Laravel. Не пойманный (в обещании) Ошибка: Такого валидатора ‘xxx’ не существует

#laravel #vue.js #vee-validate

#ларавель #vue.js #vee-проверка

Вопрос:

Я настроил Laravel с VueJS в качестве СПА-центра. Также я интегрировал Vee Validate для проверки всех моих входных данных формы. Правила по умолчанию работают так, как ожидалось. Однако, похоже, я не могу заставить свои собственные правила работать. Я всегда получаю сообщение об ошибке:

Не пойманный (в обещании) Ошибка: Такого валидатора ‘xxx’ не существует.

Я следовал этому руководству: https://medium.com/@rafaelogic/creating-a-custom-rule-in-vue-vee-validate-83777b9a5126

Здесь я импортировал Vee Validate и пользовательские правила в моем app.js файл app.js

Внутри validators/index.js У меня есть следующее validators/index.js

Это пользовательское «правило» — только для тестирования внутри validators/rules/number_of_electrical_feeds.js .

number_of_electrical_feeds.js

И это тот компонент, который пытается использовать правило — внутри js/components/LuminaireLine/Form.js Form.js

В чем ошибка, которую я совершаю?

Ответ №1:

Вы должны унифицировать свой импорт, vee-validate и vee-validate/dist/vee-validate.full.esm это два разных файла dist, и, таким образом, каждый из них поддерживает свои собственные правила и экосистему.

Вам нужно решить, какую версию vee-validate вы хотите использовать, и импортировать все только из этого диска

Это включает extend в себя, а также компоненты и в основном любой API-интерфейс vee-validate, который вы будете импортировать.

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

 

Вы можете настроить псевдоним webpack, чтобы упростить вам эту задачу.