#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 файл
Внутри validators/index.js У меня есть следующее
Это пользовательское «правило» — только для тестирования внутри validators/rules/number_of_electrical_feeds.js .
И это тот компонент, который пытается использовать правило — внутри js/components/LuminaireLine/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, чтобы упростить вам эту задачу.