CursosEmpresasBlogLiveConfPrecios

Los formularios de Bootstrap 4

Clase 15 de 21 • Curso de Bootstrap 4

Clase anteriorSiguiente clase

Contenido del curso

Introducción al curso

  • 1

    Repositorio del curso de bootstrap

    00:15 min
  • 2
    Bootstrap 4 ¿Qué trae de nuevo esta versión?

    Bootstrap 4 ¿Qué trae de nuevo esta versión?

    03:23 min
  • 3
    ¿Que es un framework de frontend?

    ¿Que es un framework de frontend?

    02:45 min
  • 4
    Nuestro Proyecto: Hola Mundo de Bootstrap

    Nuestro Proyecto: Hola Mundo de Bootstrap

    02:34 min

Creando el sitio web

  • 5
    La grilla de Bootstrap

    La grilla de Bootstrap

    12:09 min
  • 6
    Reto: La grilla de Bootstrap

    Reto: La grilla de Bootstrap

    05:43 min
  • 7
    El footer

    El footer

    10:38 min
  • 8
    El header de nuestro sitio

    El header de nuestro sitio

    13:18 min
  • 9
    Creando un carousel de imágenes

    Creando un carousel de imágenes

    07:58 min
  • 10
    Agregando texto informativo del evento

    Agregando texto informativo del evento

    12:51 min
  • 11
    Agregando botones

    Agregando botones

    04:42 min
  • 12
    Las cards de Bootstrap 4

    Las cards de Bootstrap 4

    11:44 min
  • 13
    Pastillas de texto

    Pastillas de texto

    04:38 min
  • 14
    Agregando un contenedor de ancho completo

    Agregando un contenedor de ancho completo

    12:26 min
  • 15
    Los formularios de Bootstrap 4

    Los formularios de Bootstrap 4

    Viendo ahora
  • 16
    Agregando un tooltip

    Agregando un tooltip

    04:07 min
  • 17
    Scrollspy: Conociendo la ubicación del usuario en el header

    Scrollspy: Conociendo la ubicación del usuario en el header

    07:23 min
  • 18
    Agregando un modal para comprar tickets

    Agregando un modal para comprar tickets

    04:47 min
  • 19
    Un nuevo formulario para completar la compra

    Un nuevo formulario para completar la compra

    04:40 min

Deploy a producción

  • 20
    Poniendo nuestro sitio en producción

    Poniendo nuestro sitio en producción

    04:08 min
  • 21
    Conclusiones del curso

    Conclusiones del curso

    00:51 min
  • Tomar el examen del curso
    • Mònica Mateu

      Mònica Mateu

      student•
      hace 6 años

      A estas alturas ya soy FAN de Bootstrap >.<!

        Diego Rubio

        Diego Rubio

        student•
        hace 5 años

        pues si que sabe

        Diego Rubio

        Diego Rubio

        student•
        hace 5 años

        es maravilloso!

      Fernando Galdós

      Fernando Galdós

      student•
      hace 5 años

      Tambien es importante indicar que en Bootstrp 5.0 ya no aplica el form-grupo, ahora se llama form-label

        Giselly Romero Nuñez

        Giselly Romero Nuñez

        student•
        hace 5 años

        Y yo que le habia puesto

        mb-3 form-group
        Manuel G. Pineda

        Manuel G. Pineda

        student•
        hace 4 años

        Muchas gracias!! Estaba preciso buscando cual era el nombre de la nueva clase.

      Jose L. Figueroa

      Jose L. Figueroa

      student•
      hace 7 años

      Aquí el ** form con validaciones** :

      Se pueden utilizar las clases en el form:

      • class=“was-validated” - Para que se muestren en rojo los campos y el usuario observe que tiene que llenarlos
      • class=“needs-validation” - Al momento en el que se lanza el submit del button se realiza la validación y le entrega el feedback al usuario de los campos correctos e incorrectos.
      validation-form-bootstrap.PNG
      <section id="conviertete-en-orador" class="pt-4 pb-4"> <div class="container"> <div class="row"> <div class="col text-uppercase text-center"> <small>Conviértete en un</small> <h2>Orador</h2> </div> </div> <div class"row"> <div class="col text-center"> Anótate como orador para darnos una charla ignite. Cuéntanos de qué quieres hablar! </div> </div> <div class="row"> <div class="col col-md-8 offset-md-2 col-lg-8 offset-lg-2 pt-2"> <form class="needs-validation" novalidate> <div class="form-row"> <div class="form-group col-12 col-md-6"> <input type="text" class="form-control" placeholder="Nombre" required> <div class="valid-feedback"> Correcto!! </div> <div class="invalid-feedback"> Por favor ingresa tu nombre. </div> </div> <div class="form-group col-12 col-md-6"> <input type="text" class="form-control" placeholder="Apellido" required> <div class="valid-feedback"> Correcto!! </div> <div class="invalid-feedback"> Por favor ingresa tu apellido. </div> </div> </div> <div class="form-row"> <div class="form-group col"> <textarea class="form-control form-control-lg" placeholder="Sobre qué quieres hablar?" required></textarea> <div class="valid-feedback"> Correcto!! </div> <div class="invalid-feedback"> Debes de escribir sobre qué quieres hablar. </div> <small class="form-text text-muted"> Recuerda incluir un título a tu charla. </small> </div> </div> <div class="form-row"> <div class="col"> <button type="submit" class="btn btn-platzi btn-block">Enviar</button> </div> </div> </form> </div> </div> </div> </section>
      validation-form-bootstrap.PNG
        Jose L. Figueroa

        Jose L. Figueroa

        student•
        hace 7 años

        Es necesario también agregar el js para que realice las validaciones:

        <script> // Example starter JavaScript for disabling form submissions if there are invalid fields (function() { 'use strict'; window.addEventListener('load', function() { // Fetch all the forms we want to apply custom Bootstrap validation styles to var forms = document.getElementsByClassName('needs-validation'); // Loop over them and prevent submission var validation = Array.prototype.filter.call(forms, function(form) { form.addEventListener('submit', function(event) { if (form.checkValidity() === false) { event.preventDefault(); event.stopPropagation(); } form.classList.add('was-validated'); }, false); }); }, false); })(); </script>
        Noe de Jesus Muñoz Martinez

        Noe de Jesus Muñoz Martinez

        student•
        hace 7 años

        Muy buena aportación.

      Jairo Merea Dueñas

      Jairo Merea Dueñas

      student•
      hace 5 años

      IMPORTANTE

      Si estas en el 2021 y las clases no te funcionan, te dejo el codigo con las clases que corresponden ahora

      <form> <div class="form row"> <div class="mb-3 form-group col-12 col-md-6"> <input type="text" class="form-control" placeholder="Nombre"> </div> <div class="mb-3 col-12 col-md-6"> <input type="text" class="form-control" placeholder="Apellido"> </div> </div> <div class="form row"> <div class="mb-3 col"> <textarea name="text" class="form-control form-control-lg" placeholder="Sobre que quieres hablar?"></textarea> <small class="form-text text-muted"> Recuerda incluir un titulo para tu charla </small> </div> </div> <div class="row"> <div class="col"> <button type="button" class="btn btn-platzi w-100">Enviar</button> </div> </div> </form>```
        Maryan Pinzón

        Maryan Pinzón

        student•
        hace 3 años

        ¡Muchísimas gracias!

        Ramiro Godoy

        Ramiro Godoy

        student•
        hace 3 años

        Buenísimo!

      Juan Felipe Duarte Montañez

      Juan Felipe Duarte Montañez

      student•
      hace 4 años

      Aquí les dejo el código de esta clase actualizado para Bootstrap V5.0

      <section id="conviertete-en-orador " class="pt-2 pb-2"> <div class="container"> <div class="row"> <div class="col text-center"> <small class="text-uppercase"> Conviértete en un </small> <h3>ORADOR</h3> </div> </div> <div class="row"> <div class="col text-center"> Anótate como orador para dar una charla ignite. Cuéntanos de qué quieres hablar! </div> </div> <div class="row"> <div class="col col-md-10 offset-md-1 col-lg-8 offset-lg-2 pt-3"> <div class="row"> <div class="form-label col-12 col-md-6"> <input type="text" class="form-control" placeholder="Nombre" aria-label="Nombre" /> </div> <div class="form-label col-12 col-md-6"> <input type="text" class="form-control" placeholder="Apellido" aria-label="Apellido" /> </div> </div> <div class="form-label"> <div class="col"> <textarea name="text" class="form-control form-control-lg" placeholder="Sobre qué quieres hablar?" ></textarea> <small class="form-text text-muted"> Recuerda incluir un titulo para tu charla </small> </div> </div> <div class="form-label"> <div class="col"> <button type="button" class="btn btn-platzi col-12"> Enviar </button> </div> </div> </div> </div> </div> </section>
        Blanca Morillo Sierralta

        Blanca Morillo Sierralta

        student•
        hace 4 años

        Muchísimas gracias, no sabía cómo hacerlo funcionar sin tu código donde usas form-label.

        John Ruiz

        John Ruiz

        student•
        hace 4 años

        Gracias, ya me estaba dando ataques y desesperación.

      Giselly Romero Nuñez

      Giselly Romero Nuñez

      student•
      hace 5 años

      Me está encantando esta herramienta! @Platzi debe actualizar el curso con bootstrapp 5 🙏🙏🙏

      Jaime Diaz

      Jaime Diaz

      student•
      hace 7 años

      A considerar:

      su el elemento <button>…</button> dentro de sus atributos type tiene como valor: type=“button”, NO se aplicará la validación mediante el campo: required, por lo tanto, es necesario reemplazar el valor del atributo “type” por: “submit”, tal como lo implementó el compañero LuisDark123 .
      En resumen:

      <button type="submit" class="btn btn-platzi btn-block">Enviar</button>

      Saludos.

        Harold David Avila Sabogal

        Harold David Avila Sabogal

        student•
        hace 7 años

        Gracias

        Carlos Sanguino

        Carlos Sanguino

        student•
        hace 7 años

        Gracias

      Emerson Cedeño

      Emerson Cedeño

      student•
      hace 7 años

      y … las validaciones? … dónde está la validación del formulario? 😢

        Jose L. Figueroa

        Jose L. Figueroa

        student•
        hace 7 años

        Muchas gracias, súper útil!!!

      Jairo Lachira Peralta

      Jairo Lachira Peralta

      student•
      hace 7 años

      Para lograr que una objeto tenga validaciones simplemente le agregas la propiedad required .

      <input type="text" class="form-control" placeholder="First name" required>
        Emerson Cedeño

        Emerson Cedeño

        student•
        hace 7 años

        solamente? … no es necesario agregar nada en el tag del form, ni agregar código js?

        Harold David Avila Sabogal

        Harold David Avila Sabogal

        student•
        hace 7 años

        Muchas gracias por la información

      Enrique Garcia Stave

      Enrique Garcia Stave

      student•
      hace 6 años

      Apuntes: Bootstrap nos permite trabajar con formularios, puesto que tiene un modulo muy extenso para interactuar con formularios de multiples maneras. La clase “.form-group” nos permite darle cierto espaciado a los input. Con la clase “.form-control-lg” especificamos que es un input del formulario como tal, pero que lleva un tamaño grande. Con la clase “.form-text” especificamos que es un texto para el formulario y con “.text-muted” especificamos que va a tener una tonalidad gris. Con la clase “.btn-block” podemos hacer que el botón ocupe todo el ancho disponible.

      Pablo Domínguez Durán

      Pablo Domínguez Durán

      student•
      hace 6 años

      No olviden agregar name="" para tener autocompletado:

      <div class="form-row"> <div class="form-group col-md-6"> <input type="text" name="name" class="form-control" placeholder="Nombre"> </div> <div class="form-group col-md-6"> <input type="text" name="lastname" class="form-control" placeholder="Apellido"> </div> </div>
      Kathion Vega

      Kathion Vega

      student•
      hace 7 años

      offset-md- 2 , clase para mover la columna hacia la derecha. Esta clases aumentan el margen izquierdo de una columna por * columnas.

      Valentin Francisco Blanco

      Valentin Francisco Blanco

      student•
      hace 4 años

      """Al usar utilidades en lugar de clases específicas de botones, tenemos un control mucho mayor sobre el espaciado, la alineación y los comportamientos de respuesta.""" . Ahora en bootstrap5, los botones en forma de bloque ya no se hacen a partir de clases especificas del mismo, sino a partir de utilidades.


      Código:

      <div class="form-grid"> <div class="col d-grid gap-2"> <button type="button" class="btn btn-platzi">Enviar</button> </div> </div>
      Juan Camilo Castillo Camacho

      Juan Camilo Castillo Camacho

      student•
      hace 6 años

      Excelente clase. Que buen proyecto. Gracias.

      Luis Kennedy Saavedra Fuentes

      Luis Kennedy Saavedra Fuentes

      student•
      hace 3 años

      En bootstrap 5. Sustituimos la clase:

      <div class="form-group"> </div>

      Por la clase

      <div class="form-label"> </div>

      Para el margen de los input al ocupar 12 columnas

      jonathan gonzalez

      jonathan gonzalez

      student•
      hace 5 años

      Esta bien interesante Bootstrap, ahorra mucho tiempo

      Sin título.png
      Gonzalo García

      Gonzalo García

      student•
      hace 5 años

      Dos años desarrollando y recién me entero que si clickeas el label hace focus en el input :-|

      Mijael Rodrigo Callejas Flores

      Mijael Rodrigo Callejas Flores

      student•
      hace 4 años

      para bootstrap 5.0

      <div class="col-md-6"> <input type="text" class="form-control" placeholder="Nombre"> </div> <div class="col-md-6"> <input type="text" class="form-control" placeholder="Apellido"> </div> </form>```
      Christian Alvarenga

      Christian Alvarenga

      student•
      hace 5 años

      Creo que este curso esta MUY bueno pero, me gustaria que se pueda actualizar a Bootstrap 5. De igual manera, le estoy quitando el jugo. 😎

      Héctor Leonel Rodríguez Díaz

      Héctor Leonel Rodríguez Díaz

      student•
      hace 4 años

      la facilidad de uso de bootstrap te ahorra millones de horas de vida.

    Escuelas

    • Desarrollo Web
      • Fundamentos del Desarrollo Web Profesional
      • Diseño y Desarrollo Frontend
      • Desarrollo Frontend con JavaScript
      • Desarrollo Frontend con Vue.js
      • Desarrollo Frontend con Angular
      • Desarrollo Frontend con React.js
      • Desarrollo Backend con Node.js
      • Desarrollo Backend con Python
      • Desarrollo Backend con Java
      • Desarrollo Backend con PHP
      • Desarrollo Backend con Ruby
      • Bases de Datos para Web
      • Seguridad Web & API
      • Testing Automatizado y QA para Web
      • Arquitecturas Web Modernas y Escalabilidad
      • DevOps y Cloud para Desarrolladores Web
    • English Academy
      • Inglés Básico A1
      • Inglés Básico A2
      • Inglés Intermedio B1
      • Inglés Intermedio Alto B2
      • Inglés Avanzado C1
      • Inglés para Propósitos Específicos
      • Inglés de Negocios
    • Marketing Digital
      • Fundamentos de Marketing Digital
      • Marketing de Contenidos y Redacción Persuasiva
      • SEO y Posicionamiento Web
      • Social Media Marketing y Community Management
      • Publicidad Digital y Paid Media
      • Analítica Digital y Optimización (CRO)
      • Estrategia de Marketing y Growth
      • Marketing de Marca y Comunicación Estratégica
      • Marketing para E-commerce
      • Marketing B2B
      • Inteligencia Artificial Aplicada al Marketing
      • Automatización del Marketing
      • Marca Personal y Marketing Freelance
      • Ventas y Experiencia del Cliente
      • Creación de Contenido para Redes Sociales
    • Inteligencia Artificial y Data Science
      • Fundamentos de Data Science y AI
      • Análisis y Visualización de Datos
      • Machine Learning y Deep Learning
      • Data Engineer
      • Inteligencia Artificial para la Productividad
      • Desarrollo de Aplicaciones con IA
      • AI Software Engineer
    • Ciberseguridad
      • Fundamentos de Ciberseguridad
      • Hacking Ético y Pentesting (Red Team)
      • Análisis de Malware e Ingeniería Forense
      • Seguridad Defensiva y Cumplimiento (Blue Team)
      • Ciberseguridad Estratégica
    • Liderazgo y Habilidades Blandas
      • Fundamentos de Habilidades Profesionales
      • Liderazgo y Gestión de Equipos
      • Comunicación Avanzada y Oratoria
      • Negociación y Resolución de Conflictos
      • Inteligencia Emocional y Autogestión
      • Productividad y Herramientas Digitales
      • Gestión de Proyectos y Metodologías Ágiles
      • Desarrollo de Carrera y Marca Personal
      • Diversidad, Inclusión y Entorno Laboral Saludable
      • Filosofía y Estrategia para Líderes
    • Diseño de Producto y UX
      • Fundamentos de Diseño UX/UI
      • Investigación de Usuarios (UX Research)
      • Arquitectura de Información y Usabilidad
      • Diseño de Interfaces y Prototipado (UI Design)
      • Sistemas de Diseño y DesignOps
      • Redacción UX (UX Writing)
      • Creatividad e Innovación en Diseño
      • Diseño Accesible e Inclusivo
      • Diseño Asistido por Inteligencia Artificial
      • Gestión de Producto y Liderazgo en Diseño
      • Diseño de Interacciones Emergentes (VUI/VR)
      • Desarrollo Web para Diseñadores
      • Diseño y Prototipado No-Code
    • Contenido Audiovisual
      • Fundamentos de Producción Audiovisual
      • Producción de Video para Plataformas Digitales
      • Producción de Audio y Podcast
      • Fotografía y Diseño Gráfico para Contenido Digital
      • Motion Graphics y Animación
      • Contenido Interactivo y Realidad Aumentada
      • Estrategia, Marketing y Monetización de Contenidos
    • Desarrollo Móvil
      • Fundamentos de Desarrollo Móvil
      • Desarrollo Nativo Android con Kotlin
      • Desarrollo Nativo iOS con Swift
      • Desarrollo Multiplataforma con React Native
      • Desarrollo Multiplataforma con Flutter
      • Arquitectura y Patrones de Diseño Móvil
      • Integración de APIs y Persistencia Móvil
      • Testing y Despliegue en Móvil
      • Diseño UX/UI para Móviles
    • Diseño Gráfico y Arte Digital
      • Fundamentos del Diseño Gráfico y Digital
      • Diseño de Identidad Visual y Branding
      • Ilustración Digital y Arte Conceptual
      • Diseño Editorial y de Empaques
      • Motion Graphics y Animación 3D
      • Diseño Gráfico Asistido por Inteligencia Artificial
      • Creatividad e Innovación en Diseño
    • Programación
      • Fundamentos de Programación e Ingeniería de Software
      • Herramientas de IA para el trabajo
      • Matemáticas para Programación
      • Programación con Python
      • Programación con JavaScript
      • Programación con TypeScript
      • Programación Orientada a Objetos con Java
      • Desarrollo con C# y .NET
      • Programación con PHP
      • Programación con Go y Rust
      • Programación Móvil con Swift y Kotlin
      • Programación con C y C++
      • Administración Básica de Servidores Linux
    • Negocios
      • Fundamentos de Negocios y Emprendimiento
      • Estrategia y Crecimiento Empresarial
      • Finanzas Personales y Corporativas
      • Inversión en Mercados Financieros
      • Ventas, CRM y Experiencia del Cliente
      • Operaciones, Logística y E-commerce
      • Gestión de Proyectos y Metodologías Ágiles
      • Aspectos Legales y Cumplimiento
      • Habilidades Directivas y Crecimiento Profesional
      • Diversidad e Inclusión en el Entorno Laboral
      • Herramientas Digitales y Automatización para Negocios
    • Blockchain y Web3
      • Fundamentos de Blockchain y Web3
      • Desarrollo de Smart Contracts y dApps
      • Finanzas Descentralizadas (DeFi)
      • NFTs y Economía de Creadores
      • Seguridad Blockchain
      • Ecosistemas Blockchain Alternativos (No-EVM)
      • Producto, Marketing y Legal en Web3
    • Recursos Humanos
      • Fundamentos y Cultura Organizacional en RRHH
      • Atracción y Selección de Talento
      • Cultura y Employee Experience
      • Gestión y Desarrollo de Talento
      • Desarrollo y Evaluación de Liderazgo
      • Diversidad, Equidad e Inclusión
      • AI y Automatización en Recursos Humanos
      • Tecnología y Automatización en RRHH
    • Finanzas e Inversiones
      • Fundamentos de Finanzas Personales y Corporativas
      • Análisis y Valoración Financiera
      • Inversión y Mercados de Capitales
      • Finanzas Descentralizadas (DeFi) y Criptoactivos
      • Finanzas y Estrategia para Startups
      • Inteligencia Artificial Aplicada a Finanzas
      • Domina Excel
      • Financial Analyst
      • Conseguir trabajo en Finanzas e Inversiones
    • Startups
      • Fundamentos y Validación de Ideas
      • Estrategia de Negocio y Product-Market Fit
      • Desarrollo de Producto y Operaciones Lean
      • Finanzas, Legal y Fundraising
      • Marketing, Ventas y Growth para Startups
      • Cultura, Talento y Liderazgo
      • Finanzas y Operaciones en Ecommerce
      • Startups Web3 y Blockchain
      • Startups con Impacto Social
      • Expansión y Ecosistema Startup
    • Cloud Computing y DevOps
      • Fundamentos de Cloud y DevOps
      • Administración de Servidores Linux
      • Contenerización y Orquestación
      • Infraestructura como Código (IaC) y CI/CD
      • Amazon Web Services
      • Microsoft Azure
      • Serverless y Observabilidad
      • Certificaciones Cloud (Preparación)
      • Plataforma Cloud GCP

    Platzi y comunidad

    • Platzi Business
    • Live Classes
    • Lanzamientos
    • Executive Program
    • Trabaja con nosotros
    • Podcast

    Recursos

    • Manual de Marca

    Soporte

    • Preguntas Frecuentes
    • Contáctanos

    Legal

    • Términos y Condiciones
    • Privacidad
    • Tyc promociones
    Reconocimientos
    Reconocimientos
    Logo reconocimientoTop 40 Mejores EdTech del mundo · 2024
    Logo reconocimientoPrimera Startup Latina admitida en YC · 2014
    Logo reconocimientoPrimera Startup EdTech · 2018
    Logo reconocimientoCEO Ganador Medalla por la Educación T4 & HP · 2024
    Logo reconocimientoCEO Mejor Emprendedor del año · 2024
    De LATAM conpara el mundo
    YoutubeInstagramLinkedInTikTokFacebookX (Twitter)Threads