Есть форма на реакте, валидация которой проходит через jquery validation плагин. Валидирую следующим способом:
let validator = $('form').validate({
errorClass: 'has-error',
errorElement:'label',
});
validator.form();
if ($('.has-error').length > 0) {
$('.has-error').each(function (index) {
$.validator().showErrors({prop:$(this).data('error')});
});
} else {
/*обрабатываем данные*/}
Ошибки все что надо выводит, но стопается и выдает в консоль
this.init is not a function
Ругается на это место в скрипте плагина:
$.validator = function( options, form ) {
this.settings = $.extend( true, {}, $.validator.defaults, options );
this.currentForm = form;
this.init();
};
Как быть, как исправить?
UPD: в скрипте плагина нашел это(этот кусок идет ниже чем тот на который ссылается ошибка):
$.extend( $.validator, {
//some code
prototype: {
init: function() {
this.labelContainer = $( this.settings.errorLabelContainer );
this.errorContext = this.labelContainer.length && this.labelContainer || $( this.currentForm );
this.containers = $( this.settings.errorContainer ).add( this.settings.errorLabelContainer );
this.submitted = {};
this.valueCache = {};
this.pendingRequest = 0;
this.pending = {};
this.invalid = {};
this.reset();
//some code