Bootstrap Q&A Logo
Bootstrap Q&A Part of the Q&A Network
Q&A Logo

How do I add custom validation messages to a Bootstrap input group while maintaining form layout?

Asked on Nov 13, 2025

Answer

To add custom validation messages to a Bootstrap input group while maintaining the form layout, you can use Bootstrap's validation classes along with custom JavaScript to display your messages.
<!-- BEGIN COPY / PASTE -->
        <form class="needs-validation" novalidate>
            <div class="input-group mb-3">
                <input type="text" class="form-control" id="customInput" required>
                <div class="invalid-feedback">
                    Please provide a valid input.
                </div>
            </div>
            <button class="btn btn-primary" type="submit">Submit</button>
        </form>

        <script>
            // JavaScript for disabling form submissions if there are invalid fields
            (function () {
                'use strict';
                var forms = document.querySelectorAll('.needs-validation');
                Array.prototype.slice.call(forms).forEach(function (form) {
                    form.addEventListener('submit', function (event) {
                        if (!form.checkValidity()) {
                            event.preventDefault();
                            event.stopPropagation();
                        }
                        form.classList.add('was-validated');
                    }, false);
                });
            })();
        </script>
        <!-- END COPY / PASTE -->
Additional Comment:
  • The `needs-validation` class is used to enable Bootstrap's custom validation styles.
  • The `novalidate` attribute is added to prevent the browser's default validation.
  • The `invalid-feedback` div provides the custom validation message.
  • JavaScript is used to handle the form submission and apply the `was-validated` class to trigger validation styles.
  • Ensure your input has the `required` attribute or other validation constraints as needed.
✅ Answered with Bootstrap 5 best practices.
← Back to All Questions
The Q&A Network