Can i modify yii.activeForm.js if not what is the alternative way?

yii.activeForm.js helps client side validation and allow or deny form submission. Onclick, active form calls the submitForm: function() automatically.

Now,I want to change the active form button text to "processing" during validation and disable the button upon successful validation to prevent double click.

I modified ( manually included 4 lines) the yii.activeForm.js file slightly and it works well in the way i need it.

    submitForm: function () {

     var oldtext= $('#smartbtn').text(); // manually included

     $('#smartbtn').text('Processing...'); // manually included

        var $form = $(this),

            data = $'yiiActiveForm');

        if (data.validated) {

            // Second submit's call (from validate/updateInputs)

            data.submitting = false;

            var event = $.Event(events.beforeSubmit);


            if (event.result === false) {

                data.validated = false;


                return false;



           $('#smartbtn').attr('disabled', 'disabled');// manually included

            return true;   // continue submitting the form since validation passes

        } else {

          $('#smartbtn').text(oldtext); // manually included

            // First submit's call (from yii.js/handleAction) - execute validating


            if (data.settings.timer !== undefined) {



            data.submitting = true;


            return false;



// active form 

        <?= Html::submitButton($model->isNewRecord ? Yii::t('app', 'Create') : Yii::t('app', 'Update'), ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary'

        ,'id'=>'smartbtn']) ?>

However i feel it is not a good practice to modify the file generated by composer.

Is it fine to modify the yii.activeForm.js .? if not how can i implement the same without touching the yii.activeForm.js .?

I also noticed that web/asset directory has some randomly named subdirectories and not same on two projects( installation).

Ex: web/assets/e67bec0b/yii.activeForm.js

Is it for some security purpose?

Thank you.