Hola a toda la comunidad buenas tardes, Antes de crear el archivo app.js la funciòn valida trabajaba sin problemas podia validad si una persona era mayor de edad, en el momento de crear el archivo app.js para hacer la validaciòn ya no lo esta haciendo. Agluien que pueda ayudarme por favor. archivo app.js
import { valida } from "./validaciones.js";
const inpust = document.querySelectorAll("input") // todos los elementos de tipo input
inpust.forEach(input => {
input.addEventListener("blur", (input) => {
valida(input.target);
})
});
Archivo validaciones.js
export function valida(input) {
//required data-tipo="nacimento
const tipoDeInput = input.dataset.tipo;
if (validadores[tipoDeInput]) {
validadores[tipoDeInput](input); // vicnulado con el otro archivo app.js
}
}
const validadores = {
// en registro usamos la palabra nacimiento ( required data-tipo="nacimento")
nacimiento: input => validarNacimiento(input),
};
//se crear función para recibir el input
function validarNacimiento(input) {
let mensaje = ""
//acceder al valor de fecha, formato año, mes y dia
const fechaUsuario = new Date(input.value);
if (!mayorDeEdad(fechaUsuario)) {
mensaje = "Debes tener al menos 18 años de edad";
}
input.setCustomValidity(mensaje);
}
//verificar si es mayor de edad
function mayorDeEdad(fecha) {
const fechaActual = new Date();
const diferenciaFechas = new Date(
fecha.getUTCFullYear() + 18,
fecha.getUTCMonth(),
fecha.getUTCDate()
);
return diferenciaFechas <= fechaActual;
}
Arvhivo registro html.
<fieldset>
<legend class="form__label">Información personal</legend>
<div class="input-container">
<input name="birth" id="birth" class="input" type="date" placeholder="Fecha de nacimento" required data-tipo="nacimento">
<label class="input-label" for="birth">Fecha de nacimiento</label>
<span class="input-message-error">Este campo no es valido</span>
</div>
<script src = "./js/app.js" type = "module"></script>