Валидация полей ajax js

господа. Столкнулся с проблемой при отправке формы с сайта на почту. Есть скрипт, который успешно работает и отправляет данные без перезагрузки страницы. Решил сделать валидацию полей, так как при подключении данного скрипта дефолтная валидация bootstrap не работает. Попробовал запихнуть уже реализованный скрипт в проверку $("#form").validate({, валидация заработала, однако, при нажатии кнопки "Отправить" меня бросает на новую страницу с текстом каллбэка. Если же убрать вышеупомянутую строку - все работает (без валидации). Ниже креплю js, который у меня получился. Прошу не ругать, если есть элементарные ошибки, js только осваиваю :) Прошу помощи, заранее благодарю :)

function ajaxFormRequest(result_id,form_id,url) {
$("#"+form_id).validate({
        jQuery.ajax({
            url: url,
            type: "POST",
            dataType: "html",
            data: jQuery("#"+form_id).serialize(),
            success: function(response) {
                document.getElementById(result_id).innerHTML = response;
            },
            error: function(response) {
                document.getElementById(result_id).innerHTML = "<b>При отправке данных возникла ошибка</b>";
            }
        });

        $(':input','#'+form_id)
            .not(':button, :submit, :reset, :hidden')
            .val('')
            .removeAttr('checked')
            .removeAttr('selected');;
}); }

Код кнопки "Отправить"

<div style="color: white;" class="boot-center pt-3" id="messegeResult"><button class="boot" type="submit" onclick="ajaxFormRequest('messegeResult', 'fcontact', 'php/form-contact.php')">Отправить</button></div>

Также пытался реализовать сие следующим образом, что тоже не увенчалось успехом (валидация работает, но форма отправляется с переходом на новую страницу):

function ajaxFormRequest(result_id,form_id,url) {
$(form_id).submit(function (event) {
    event.preventDefault();
    if ($(form_id)[0].checkValidity() === false) {
        event.stopPropagation();
    } else {
        jQuery.ajax({
            url: url,
            type: "POST",
            dataType: "html",
            data: jQuery("#"+form_id).serialize(),
            success: function(response) {
                document.getElementById(result_id).innerHTML = response;
            },
            error: function(response) {
                document.getElementById(result_id).innerHTML = "<b>При отправке данных возникла ошибка</b>";
            }
        });

        $(':input','#'+form_id)
            .not(':button, :submit, :reset, :hidden')
            .val('')
            .removeAttr('checked')
            .removeAttr('selected');
    }
});

}


Ответы (0 шт):