Я получаю следующую ошибку $(...).validate is not a function
при попытке использовать jquery -validation в направляющих 6.
Шаги, которые я сделал для использования библиотеки, были
- Добавить jquery jquery -validation bootstrap popper expose-loader на всем протяжении Yarn
- Определить jQuery в среде. js
- Expose Jquery в среде. js
- Импорт jquery .validate в приложении. js
- Импортировать пользовательский js ("../pages/form-validation") для проверки правила для формы
- Создать форму
Я сделал то же самое для использования jquery -шагов, и это сработало отлично. Что мне не хватает?
среда. js
const { environment } = require('@rails/webpacker')
const webpack = require('webpack')
environment.plugins.prepend('Provide', new webpack.ProvidePlugin({
$: 'jquery/src/jquery',
jQuery: 'jquery/src/jquery',
jquery: 'jquery/src/jquery',
Popper: ['popper.js', 'default']
}))
environment.loaders.append('jquery', {
test: require.resolve('jquery'),
use: [{
loader: 'expose-loader',
options: '$',
}, {
loader: 'expose-loader',
options: 'jQuery',
}],
})
module.exports = environment
приложение. js
// This file is automatically compiled by Webpack, along with any other files
// present in this directory. You"re encouraged to place your actual application logic in
// a relevant structure within app/javascript and only use these pack files to reference
// that code so it"ll be compiled.
require("@rails/ujs").start()
require("turbolinks").start()
require("channels")
//Dependencias globales
import "bootstrap"
import "../globals/off-canvas"
import "../globals/hoverable-collapse"
import "../globals/misc"
import "../globals/settings"
// Componentes externos
import flatpickr from "flatpickr";
import "flatpickr/dist/flatpickr.min.css"
import "jquery-steps/build/jquery.steps"
import "jquery-validation/dist/jquery.validate"
//Componentes de proleague
// JS especifico para ciertas páginas
import "../pages/wizard-forms"
import "../pages/datepicker"
import "../pages/form-validation"
проверка формы. js (настраиваемая js для проверки формы)
$(document).on('turbolinks:load', function() {
'use strict';
$(function() {
// validate signup form on keyup and submit
$("#match-form").validate();
});
})
При всем этом я получаю $ (...). Validate not defined
![enter image description here](https://i.stack.imgur.com/kaWBc.png)
Кроме того, я попытался выставить Jquery через require ('expose-loader? $! jquery') в приложении. js подход, и я все равно получу ошибку, но если бы я вызвал функцию прямо на консоли, она бы распозналась
![Console Error](https://i.stack.imgur.com/nuttA.png)