Forms & Inputs | asadmukhtar.info
Step-by-Step Guide to Setting Up Authentication in Laravel 12 with Breeze   |   Manual Authentication in Laravel 12: Step-by-Step Guide   |   How to Build a REST API in Laravel 12 with Sanctum   |   Laravel 12 CRUD Application with Image Upload   |   Laravel 12 Multi-Auth System: Admin & User Login   |   How to Integrate Stripe Payment Gateway in Laravel 12   |   Building a Role-Based Access Control (RBAC) in Laravel 12   |   How to Use Laravel 12 Queues and Jobs for Background Tasks   |   Laravel 12 Livewire CRUD Example with Validation   |   Email Verification and Password Reset in Laravel 12   |   How to Use Laravel 12 API with Vue.js 3   |   Laravel 12 AJAX CRUD with jQuery and Bootstrap   |   Laravel 12 Multi-Language Website Setup   |   React Best Practices for 2025: Performance, SEO, and Scalability   |   How to Build a Full-Stack MERN App: A Step-by-Step Guide   |   React State Management: Redux vs. Context API vs. Recoil   |   Server-Side Rendering (SSR) in React with Next.js for SEO   |   How to Optimize React Apps for Faster Load Times   |   Building a REST API with Node.js and Express for a React App   |   Integrating JWT Authentication in React and Node.js (MERN Stack)   |   Real-time Chat App with React, Node.js, and Socket.io   |   How to Deploy a MERN Stack Application on AWS or Vercel   |   Connecting React Frontend to a Node.js Backend with Axios   |   Laravel Implement Flash Messages Example   |   How to integrate Angular 19 with Node.js and Express for full-stack development   |   Best practices for connecting Angular 19 frontend with Laravel API   |   Step-by-step guide to upgrading an existing project to Angular 19   |   How to implement authentication in Angular 19 using JWT and Firebase   |   Optimizing server-side rendering in Angular 19 with route-level render modes   |   Using Angular 19 signals for state management in large applications   |   How to create standalone components in Angular 19 for modular architecture   |   Building a CRUD application in Angular 19 with MongoDB and Express   |   Implementing lazy loading in Angular 19 to improve performance   |   How to integrate Angular 19 with GraphQL for efficient data fetching   |   Vue 3 Composition API vs Options API: A Comprehensive Comparison   |   Fetching and Displaying Data from APIs in Vue.js with Axios   |   Building a Todo App in Vue.js with Local Storage Integration   |   Handling Forms and Validation in Vue.js Using VeeValidate   |   State Management in Vue.js Applications Using Vuex   |   10 Most Important Tasks Every MERN Stack Developer Should Master   |   How to Build a Full-Stack CRUD App with MERN Stack   |   Best Practices for Authentication & Authorization in MERN Stack   |   1. MEAN Stack vs. MERN Stack: Which One Should You Choose in 2025   |   Top 10 Node.js Best Practices for Scalable and Secure Applications   |   How to Build a REST API with Laravel and Node.js (Step-by-Step Guide)   |   Mastering Angular and Express.js for Full-Stack Web Development   |   Top 10 Daily Tasks Every Frontend Developer Should Practice   |   Essential Backend Development Tasks to Boost Your Coding Skills   |   Real-World Mini Projects for Practicing React.js Daily   |   Laravel Developer Task List: Beginner to Advanced Challenges   |   How to Assign Effective Tasks to Your Intern Developers   |   10 Must-Try Tasks to Master JavaScript Fundamentals   |   Practical CSS Challenges That Improve Your UI Design Skills   |   Top Tasks to Learn API Integration in React and Angular   |   Best Task Ideas for a 30-Day Web Development Challenge   |   Top Git and GitHub Tasks Every Developer Should Know   |   30-Day Task Plan for Web Development Interns   |   Weekly Task Schedule for Junior Developers in a Startup   |   How to Track Progress with Development Tasks for Interns   |   What Tasks Should You Give to Interns in a MERN Stack Project   |   Build These 5 Projects to Master React Routing   |   Task-Based Learning: Become a Full-Stack Developer in 90 Days   |   Daily Coding Tasks That Will Sharpen Your Logical Thinking   |   Top 7 Backend Task Ideas to Practice With Node.js and MongoDB   |  

1. Basic Form Structure

  • Every form element in Bootstrap must be wrapped inside a <form> tag.

  • Use Bootstrap’s built-in classes to style input fields, labels, and buttons.

πŸ‘‰ Example: Basic Form Structure

<form>
  <div class="mb-3">
    <label for="email" class="form-label">Email address</label>
    <input type="email" class="form-control" id="email" placeholder="Enter your email">
  </div>
  <div class="mb-3">
    <label for="password" class="form-label">Password</label>
    <input type="password" class="form-control" id="password" placeholder="Enter your password">
  </div>
  <button type="submit" class="btn btn-primary">Submit</button>
</form>

βœ… Explanation:

  • .form-label styles the label.

  • .form-control makes input fields responsive and well-styled.

  • .btn-primary adds a styled submit button.

2. Form Layouts

A. Vertical Form (Default)

  • Inputs are stacked on top of each other (default layout).

πŸ‘‰ Example: Vertical Form

<form>
  <div class="mb-3">
    <label class="form-label">Full Name</label>
    <input type="text" class="form-control" placeholder="Enter your name">
  </div>
  <button type="submit" class="btn btn-success">Submit</button>
</form>

B. Horizontal Form

  • Use the .row and .col classes to align labels and inputs in a horizontal layout.

πŸ‘‰ Example: Horizontal Form

<form>
  <div class="row mb-3">
    <label class="col-sm-2 col-form-label">Username</label>
    <div class="col-sm-10">
      <input type="text" class="form-control" placeholder="Enter username">
    </div>
  </div>
  <button type="submit" class="btn btn-warning">Submit</button>
</form>

βœ… Explanation:

  • .col-sm-2 defines the width of the label.

  • .col-sm-10 sets the input field width.

C. Inline Form

  • Use .row and .col-auto to keep form fields on a single line.

πŸ‘‰ Example: Inline Form

<form class="row g-3">
  <div class="col-auto">
    <input type="text" class="form-control" placeholder="Enter name">
  </div>
  <div class="col-auto">
    <button type="submit" class="btn btn-info">Search</button>
  </div>
</form>

3. Different Input Types

Bootstrap supports various input types like text, email, password, number, file, and more.

πŸ‘‰ Example: Various Input Types

<form>
  <input type="text" class="form-control mb-2" placeholder="Text input">
  <input type="email" class="form-control mb-2" placeholder="Email input">
  <input type="password" class="form-control mb-2" placeholder="Password input">
  <input type="number" class="form-control mb-2" placeholder="Number input">
  <input type="file" class="form-control mb-2">
</form>

4. Input Groups (Prepend & Append)

  • Add icons, text, or buttons inside input fields using .input-group.

πŸ‘‰ Example: Input with Icons & Buttons

<div class="input-group mb-3">
  <span class="input-group-text">@</span>
  <input type="text" class="form-control" placeholder="Username">
</div>

<div class="input-group mb-3">
  <input type="text" class="form-control" placeholder="Recipient's username">
  <button class="btn btn-outline-secondary">Send</button>
</div>

5. Checkboxes & Radio Buttons

  • Bootstrap provides custom checkboxes and radio buttons.

πŸ‘‰ Example: Checkboxes & Radio Buttons

<div class="form-check">
  <input type="checkbox" class="form-check-input" id="check1">
  <label class="form-check-label" for="check1">Accept Terms</label>
</div>

<div class="form-check">
  <input type="radio" class="form-check-input" name="gender" id="male">
  <label class="form-check-label" for="male">Male</label>
</div>

<div class="form-check">
  <input type="radio" class="form-check-input" name="gender" id="female">
  <label class="form-check-label" for="female">Female</label>
</div>

6. Form Validation

  • Bootstrap provides built-in validation feedback messages.

πŸ‘‰ Example: Form Validation

<form class="needs-validation" novalidate>
  <div class="mb-3">
    <label class="form-label">Email</label>
    <input type="email" class="form-control is-invalid" required>
    <div class="invalid-feedback">Please enter a valid email.</div>
  </div>
  <button type="submit" class="btn btn-danger">Submit</button>
</form>

βœ… Explanation:

  • .is-invalid marks an invalid input field.

  • .invalid-feedback displays error messages.

Conclusion

Bootstrap’s Forms & Inputs system simplifies form creation with a variety of styles, layouts, and validation options. Using .form-control, .input-group, and .form-check, you can create responsive and user-friendly forms efficiently. πŸš€