У меня есть следующий код от Metroni c Тема для проверки формы.
// Class definition
var KTFormControls = function () {
// Private functions
var demo1 = function () {
$( "#kt_acl_permissions" ).validate({
// This global normalizer will trim the value of all elements
// before validatng them.
normalizer: function( value ) {
return $.trim( value );
},
// define validation rules
rules: {
name: {
required: true
}
},
//Use this to handle form submission after validation is passed
submitHandler: function (form) {
//form[0].submit(); // submit the form
//Add loading spinner to the button
$('#submit-form-button').addClass('kt-spinner kt-spinner--right kt-spinner--md kt-spinner--light');
//Make XHR call to the server
axios.post($(form).attr('action'), {
name: $('#name').val(),
})
.then(response => {
//Close the modal
$('#kt_modal_add_permission').modal('hide');
//Reset form
form.reset();
toastr.success('Permission was added!');
})
.catch(error => {
//Close the modal
$('#kt_modal_add_permission').modal('hide');
let errorMessage;
error.response.data.hasOwnProperty('message') && error.response.data.message != "" ? errorMessage = error.response.data.message : errorMessage = 'There was an error while trying to make the request.';
//Let's just present that error to the user
swal.fire({
"title": "Ooops!",
"text": errorMessage,
"type": "error",
"confirmButtonClass": "btn btn-secondary",
"onClose": function(event) {
//console.log('on close event fired!');
}
});
})
.then(() => {
//Remove the loading class from the button
$('#submit-form-button').removeClass('kt-spinner kt-spinner--right kt-spinner--md kt-spinner--light');
});
},
//display error alert on form submit
invalidHandler: function(event, validator) {
event.preventDefault();
},
});
}
return {
// public functions
init: function() {
demo1();
}
};
}();
jQuery(document).ready(function() {
KTFormControls.init();
});
Код работает нормально, но мне нужно запустить проверку программно вне класса, и я не знать, как это сделать.
Я могу просто взять всю форму и создать новый проверочный экземпляр, и он будет работать: $ ("#kt_acl_permissions") .validate (). resetForm ();
Но я хочу получить доступ к методу demo1 из класса KTFormControls и вызвать resetForm ()
Может кто-нибудь сказать мне, как я могу найти этот экземпляр? Спасибо!