1
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Validación de Formularios Bootstrap 5</title>
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet">
</head>
<body class="bg-light p-4">
<div class="container" style="max-width: 620px;">
<div class="card shadow-sm border-0 rounded-4 p-4 bg-white">
<h4 class="fw-bold text-dark mb-3">Validación de Datos en Kilopolis</h4>
<form id="formValidacion" class="needs-validation" novalidate>
<!-- Nombre de Usuario -->
<div class="mb-3">
<label for="campoUsuario" class="form-label fw-semibold">Nombre de Usuario</label>
<div class="input-group has-validation">
<span class="input-group-text">@</span>
<input type="text" class="form-control" id="campoUsuario" name="campoUsuario" placeholder="usuario_kilopolis" required>
<div class="invalid-feedback">
Por favor ingresa un nombre de usuario válido.
</div>
<div class="valid-feedback">
¡Excelente nombre de usuario!
</div>
</div>
</div>
<!-- Ciudad / País -->
<div class="mb-3">
<label for="campoCiudad" class="form-label fw-semibold">Ciudad de Residencia</label>
<input type="text" class="form-control" id="campoCiudad" name="campoCiudad" placeholder="Ej. Bogotá, Madrid, Ciudad de México" required>
<div class="invalid-feedback">
Debes proporcionar tu ciudad para asignar la zona horaria.
</div>
</div>
<!-- Casilla de Aceptación -->
<div class="mb-4">
<div class="form-check">
<input class="form-check-input" type="checkbox" value="" id="checkAcepto" name="checkAcepto" required>
<label class="form-check-label small" for="checkAcepto">
Acepto los términos de certificación de Kilopolis Academia
</label>
<div class="invalid-feedback">
Debes aceptar los términos antes de continuar.
</div>
</div>
</div>
<button class="btn btn-primary w-100 py-2 rounded-pill fw-semibold shadow-sm" type="submit">
Validar y Enviar Formulario »
</button>
</form>
</div>
</div>
<script>
const form = document.getElementById('formValidacion');
form.addEventListener('submit', function (event) {
if (!form.checkValidity()) {
event.preventDefault();
event.stopPropagation();
} else {
event.preventDefault();
alert('🎉 ¡Formulario 100% válido y listo para enviar!');
}
form.classList.add('was-validated');
}, false);
</script>
</body>
</html>
Haz clic para editar este código