Javascript 引导表单验证不适用于ajax
我有一个bootstrap表单,它正在进行验证,工作正常,但是我需要ajax做一些额外的处理,但是一旦我包含ajax,表单验证就会中断,并允许表单以空值提交。在仍然使用ajax的情况下,如何使引导表单验证工作 形式 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
当您“提交”表单时,将调用引导验证。提交表单会向服务器发送一个新的(通常是“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();
})