Javascript 引导表单验证不适用于ajax

Javascript 引导表单验证不适用于ajax,javascript,jquery,ajax,bootstrap-4,Javascript,Jquery,Ajax,Bootstrap 4,我有一个bootstrap表单,它正在进行验证,工作正常,但是我需要ajax做一些额外的处理,但是一旦我包含ajax,表单验证就会中断,并允许表单以空值提交。在仍然使用ajax的情况下,如何使引导表单验证工作 形式 AJAX代码 当您“提交”表单时,将调用引导验证。提交表单会向服务器发送一个新的(通常是“POST”)请求。Ajax绕过了这一切:它向服务器发送自己的独立请求。你可以吃蛋糕,也可以吃。但并非两者都有:) <form id="git_access_token_uploa

我有一个bootstrap表单,它正在进行验证,工作正常,但是我需要ajax做一些额外的处理,但是一旦我包含ajax,表单验证就会中断,并允许表单以空值提交。在仍然使用ajax的情况下,如何使引导表单验证工作

形式 AJAX代码
当您“提交”表单时,将调用引导验证。提交表单会向服务器发送一个新的(通常是“POST”)请求。Ajax绕过了这一切:它向服务器发送自己的独立请求。你可以吃蛋糕,也可以吃。但并非两者都有:)
<form id="git_access_token_upload" name="git_access_token_upload"
      class="git_access_token_upload needs-validation" method="POST" novalidate>
    <div class="row">
        <div class="col-md-8">
            <div class="mb-3">
                
                <div class="mb-3 error-placeholder">
                    <label for="user_access_token" class="form-label">INPUT 1</label>
                    <input  type="text" class="form-control"
                           id="user_access_token"
                           name="user_access_token"
                           placeholder="INPUT 1">
                </div>
                
            </div>

        </div>
    </div>
    <button  {{upload_button_disabled}} name="git_access_token_upload" type="submit"
            class="btn btn-primary" id="git_access_token_upload_button">
        <i class="fas fa-upload"></i> Upload Token
    </button>
</form>
document.addEventListener("DOMContentLoaded", function() {

        $("#git_access_token_upload").validate({
            ignore: ".ignore, .select2-input",
            focusInvalid: false,
            rules: {
                "user_access_token": {
                    required: true,
                },
                 "user_token_name": {
                    required: true,
                },

            },
            // Errors
            errorPlacement: function errorPlacement(error, element) {
                var $parent = $(element).parents(".error-placeholder");
                // Do not duplicate errors
                if ($parent.find(".jquery-validation-error").length) {
                    return;
                }
                $parent.append(
                    error.addClass("jquery-validation-error small form-text invalid-feedback")
                );
            },
            highlight: function(element) {
                var $el = $(element);
                var $parent = $el.parents(".error-placeholder");
                $el.addClass("is-invalid");
                // Select2 and Tagsinput
                if ($el.hasClass("select2-hidden-accessible") || $el.attr("data-role") === "tagsinput") {
                    $el.parent().addClass("is-invalid");
                }
            },
            unhighlight: function(element) {
                $(element).parents(".error-placeholder").find(".is-invalid").removeClass("is-invalid");
            }
        });
    });
$('.git_access_token_upload').on('submit', function(event) {
    $.ajax({
        data : {

        },
        type : 'POST',
        url : '/my_url',
        success: function(html) {
            // on success
        },
        error: function(html) {
            // on error
        }
    })
    .done(function(data) {
        if (data.error) {
        }
        else {
            // doing work
        }
    })
    .always(function(dataOrjqXHR, textStatus, jqXHRorErrorThrown) {
    });
    event.preventDefault();
    event.stopImmediatePropagation();
})