From 909acdf862e3e0d479dc662a642f7edacb33378f Mon Sep 17 00:00:00 2001 From: Sergio Madera De Marco <37299705@terciariourquiza.edu.ar> Date: Thu, 28 May 2026 13:56:45 -0300 Subject: [PATCH] ejercicio 8: carrito de compras --- ejercicio7/ejercicio7.js | 62 +++++++++++++++++++++++++++++++++- ejercicio7/estilo.css | 40 ++++++++++++++++++++++ ejercicio7/index.html | 26 ++++++++++++++- ejercicio8/ejercicio8.js | 72 +++++++++++++++++++++++++++++++++++++++- ejercicio8/index.html | 8 +++++ 5 files changed, 205 insertions(+), 3 deletions(-) diff --git a/ejercicio7/ejercicio7.js b/ejercicio7/ejercicio7.js index 6ce9e92..4bcfa90 100644 --- a/ejercicio7/ejercicio7.js +++ b/ejercicio7/ejercicio7.js @@ -1 +1,61 @@ -// Agregar aquí el código javascript +const formulario = document.getElementById('formulario'); +const nombreInput = document.getElementById('nombre'); +const edadInput = document.getElementById('edad'); +const contrasenaInput = document.getElementById('contrasena'); + +const errorNombre = document.getElementById('error-nombre'); +const errorEdad = document.getElementById('error-edad'); +const errorContrasena = document.getElementById('error-contrasena'); +const mensajeExito = document.getElementById('mensaje-exito'); + +function limpiarErrores() { + errorNombre.textContent = ''; + errorEdad.textContent = ''; + errorContrasena.textContent = ''; + mensajeExito.textContent = ''; +} + +function validarFormulario() { + limpiarErrores(); + + let esValido = true; + const nombre = nombreInput.value.trim(); + const edad = edadInput.value.trim(); + const contrasena = contrasenaInput.value; + + if (nombre === '') { + errorNombre.textContent = 'El nombre no puede quedar vacío.'; + esValido = false; + } + + if (edad === '') { + errorEdad.textContent = 'La edad no puede quedar vacía.'; + esValido = false; + } else { + const edadNumero = Number(edad); + if (!Number.isInteger(edadNumero) || edadNumero < 0 || edadNumero > 100) { + errorEdad.textContent = 'La edad debe ser un número entero entre 0 y 100.'; + esValido = false; + } + } + + if (contrasena === '') { + errorContrasena.textContent = 'La contraseña no puede quedar vacía.'; + esValido = false; + } else if (contrasena.length < 8) { + errorContrasena.textContent = 'La contraseña debe tener al menos 8 caracteres.'; + esValido = false; + } + + return esValido; +} + +formulario.addEventListener('submit', (event) => { + event.preventDefault(); + + if (validarFormulario()) { + mensajeExito.textContent = 'Formulario enviado correctamente.'; + } else { + mensajeExito.textContent = ''; + } +}); diff --git a/ejercicio7/estilo.css b/ejercicio7/estilo.css index 159b7f6..6d64baa 100644 --- a/ejercicio7/estilo.css +++ b/ejercicio7/estilo.css @@ -1,2 +1,42 @@ /* Agregar el código CSS necesario para el ejercicio */ +body { + font-family: Arial, sans-serif; + margin: 20px; +} + +.campo { + margin-bottom: 15px; +} + +label { + display: block; + margin-bottom: 4px; +} + +input { + display: block; + width: 100%; + max-width: 320px; + padding: 8px; + box-sizing: border-box; +} + +button { + padding: 10px 16px; + cursor: pointer; +} + +.error { + display: block; + margin-top: 4px; + color: #c0392b; + font-size: 0.95rem; +} + +.exito { + margin-top: 16px; + color: #2d7a2d; + font-weight: bold; +} + diff --git a/ejercicio7/index.html b/ejercicio7/index.html index 205939a..b1618b4 100644 --- a/ejercicio7/index.html +++ b/ejercicio7/index.html @@ -2,13 +2,37 @@
- +Total: $0