Bootstrap Q&A Logo
Bootstrap Q&A Part of the Q&A Network
Real Questions. Clear Answers.
Ask any question about Bootstrap here... and get an instant response.
Q&A Balloon Q&A Logo
Post this Question & Answer:

How can I focus the first invalid input when a modal form is submitted?

Asked on Jun 17, 2025

Answer

To focus the first invalid input in a modal form when it is submitted, you can use JavaScript to detect invalid fields and set focus on the first one. Here's a simple example using Bootstrap 5.
<!-- BEGIN COPY / PASTE -->
        <div class="modal fade" id="exampleModal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
            <div class="modal-dialog">
                <div class="modal-content">
                    <div class="modal-header">
                        <h5 class="modal-title" id="exampleModalLabel">Form Modal</h5>
                        <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
                    </div>
                    <div class="modal-body">
                        <form id="myForm" novalidate>
                            <div class="mb-3">
                                <label for="email" class="form-label">Email address</label>
                                <input type="email" class="form-control" id="email" required>
                                <div class="invalid-feedback">
                                    Please enter a valid email.
                                </div>
                            </div>
                            <div class="mb-3">
                                <label for="password" class="form-label">Password</label>
                                <input type="password" class="form-control" id="password" required>
                                <div class="invalid-feedback">
                                    Please provide a password.
                                </div>
                            </div>
                            <button type="submit" class="btn btn-primary">Submit</button>
                        </form>
                    </div>
                </div>
            </div>
        </div>

        <script>
            document.getElementById('myForm').addEventListener('submit', function(event) {
                event.preventDefault();
                event.stopPropagation();
                if (!this.checkValidity()) {
                    this.classList.add('was-validated');
                    const firstInvalid = this.querySelector(':invalid');
                    if (firstInvalid) {
                        firstInvalid.focus();
                    }
                }
            });
        </script>
        <!-- END COPY / PASTE -->
Additional Comment:
  • Ensure the form has the `novalidate` attribute to prevent the browser's default validation.
  • The script listens for the form's `submit` event, prevents the default submission, and checks validity.
  • If the form is invalid, it adds the `was-validated` class and focuses the first invalid input.
  • The `:invalid` CSS pseudo-class is used to find the first invalid input.
✅ Answered with Bootstrap 5 best practices.
← Back to All Questions

Q&A Network
The Q&A Network
Bootstrap
Ask Questions / Get Answers about Bootstrap!
Security
Ask Questions / Get Answers about Website Security!
Motion Graphics
Ask Questions / Get Answers about Motion Graphics!
Cybersecurity
Ask Questions / Get Answers about Cybersecurity!
AI Ethics
Ask Questions / Get Answers about AI Ethics!
SEO
Ask Questions / Get Answers about SEO!
Podcasting
Ask Questions / Get Answers about Podcasting!
AI Images
Ask Questions / Get Answers about AI Images!
AI
Ask Questions / Get Answers about AI!
UI/UX Design
Ask Questions / Get Answers about UI/UX Design!
DevOps
Ask Questions / Get Answers about DevOps!
CSS
Ask Questions / Get Answers about CSS!
AI Video
Ask Questions / Get Answers about AI Video!
AI Design
Ask Questions / Get Answers about AI Design!
Analytics
Ask Questions / Get Answers about Analytics!
Web Development
Ask Questions / Get Answers about Web Development!
AI Coding
Ask Questions / Get Answers about AI Coding!
Quantum
Ask Questions / Get Answers about Quantum Computing!
AI Writing
Ask Questions / Get Answers about AI Writing!
Networking
Ask Questions / Get Answers about Networking!
WordPress
Ask Questions / Get Answers about WordPress!
AI Business
Ask Questions / Get Answers about AI Business!
Monetization
Ask Questions / Get Answers about Ad & Monetization!
Chatbots
Ask Questions / Get Answers about Chatbots!
Graphic Design
Ask Questions / Get Answers about Graphic Design!
VR & AR
Ask Questions / Get Answers about VR & AR!
Web Hosting
Ask Questions / Get Answers about Hosting!
Sound Design
Ask Questions / Get Answers about Sound Design!
Film Production
Ask Questions / Get Answers about Film Production!
HTML
Ask Questions / Get Answers about HTML!
MobileDev
Ask Questions / Get Answers about Mobile Developement!
Illustration
Ask Questions / Get Answers about Illustration!
Tailwind
Ask Questions / Get Answers about Tailwind!
AI Education
Ask Questions / Get Answers about AI Education!
3D Design
Ask Questions / Get Answers about 3D Design!
Data Science
Ask Questions / Get Answers about Data Science!
Creative Writing
Ask Questions / Get Answers about Creative Writing!
Web Languages
Ask Questions / Get Answers about Web Languages!
IoT
Ask Questions / Get Answers about IoT!
Performance
Ask Questions / Get Answers about Web Vitals!
Cloud Computing
Ask Questions / Get Answers about Cloud Computing!
JavaScript
Ask Questions / Get Answers about JavaScript!
Photography
Ask Questions / Get Answers about Photography!
Animation
Ask Questions / Get Answers about Animation!
AI Marketing
Ask Questions / Get Answers about AI Marketing!
Robotics
Ask Questions / Get Answers about Robotics!
AI Audio
Ask Questions / Get Answers about AI Audio!
Video Editing
Ask Questions / Get Answers about Video Editing!