Để tương thích hoàn toàn với Bootstrap 3, tôi đã thêm hỗ trợ cho nhóm đầu vào , radio và hộp kiểm , điều còn thiếu trong các giải pháp khác.
Cập nhật 20/10/2017 : Đã kiểm tra các đề xuất của các câu trả lời khác và thêm hỗ trợ bổ sung cho đánh dấu đặc biệt của radio-inline , vị trí lỗi tốt hơn cho một nhóm radio hoặc hộp kiểm và thêm hỗ trợ cho lớp .novalidation tùy chỉnh để ngăn xác thực các điều khiển. Hy vọng điều này sẽ giúp và cảm ơn cho những lời đề nghị.
Sau khi bao gồm các plugin xác thực, thêm cuộc gọi sau:
$.validator.setDefaults({
errorElement: "span",
errorClass: "help-block",
highlight: function (element, errorClass, validClass) {
// Only validation controls
if (!$(element).hasClass('novalidation')) {
$(element).closest('.form-group').removeClass('has-success').addClass('has-error');
}
},
unhighlight: function (element, errorClass, validClass) {
// Only validation controls
if (!$(element).hasClass('novalidation')) {
$(element).closest('.form-group').removeClass('has-error').addClass('has-success');
}
},
errorPlacement: function (error, element) {
if (element.parent('.input-group').length) {
error.insertAfter(element.parent());
}
else if (element.prop('type') === 'radio' && element.parent('.radio-inline').length) {
error.insertAfter(element.parent().parent());
}
else if (element.prop('type') === 'checkbox' || element.prop('type') === 'radio') {
error.appendTo(element.parent().parent());
}
else {
error.insertAfter(element);
}
}
});
Điều này hoạt động cho tất cả các lớp mẫu Bootstrap 3. Nếu bạn sử dụng một hình thức ngang, bạn phải sử dụng đánh dấu sau. Điều này đảm bảo rằng văn bản khối trợ giúp tôn trọng các trạng thái xác thực ("có lỗi", ...) của nhóm biểu mẫu .
<div class="form-group">
<div class="col-lg-12">
<div class="checkbox">
<label id="LabelConfirm" for="CheckBoxConfirm">
<input type="checkbox" name="CheckBoxConfirm" id="CheckBoxConfirm" required="required" />
I have read all the information
</label>
</div>
</div>
</div>