jQuery Проверить - сбросить форму программно - PullRequest
0 голосов
/ 03 мая 2020

У меня есть следующий код от 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 ()

Может кто-нибудь сказать мне, как я могу найти этот экземпляр? Спасибо!

...