Qué se supone que hace esto?
export function valida(input){
const tipoDeInput = input.dataset.tipo;
if(validadores[tipoDeInput]){
validadores[tipoDeInput](input);
}
}
const validadores = {
nacimiento: (input) => validarNacimiento(input),
}
No se deja claro y es poco especifico al comprenderlo, en la función valida tengo entendido que la constante almacena el data atribute del html data-tipo="nacimiento", pero la condicional si no la entiendo, ahora en la constante validadores que es un objeto se supone que nacimiento (propiedad) es una función, por qué y cómo? con parámetro input (qué no sé exactamente a que viene) luego se supone que retorna validarNacimiento(input)?
import { valida } from "./validaciones.js";
const inputs = document.querySelectorAll("input");
inputs.forEach((input) => {
input.addEventListener("blur", (input) => {
valida(input.target);
});
});
Ahora en el archivo app.js me pierdo más, ok hay una constante que almacena todos los input del html, pero porqué? no sé supone que se está validando fecha en el otro archivo?, ahora meten el método forEarch que para algunos de acá no comprendemos ese método, luego adentro hace un addeventlistener, que creo que hace lo mismo a como estaba anteriormente:
const inputNacimiento = document.querySelector('#birth');
inputNacimiento.addEventListener('blur', (evento) => {
validarNacimiento(evento.target);
pero ahora con el valida, tampoco entiendo de donde sale el parámetro input ahí que se repite en cada parámetro Poco clara esta clase, mejor hubiera dejado como estaba el código que a esto que se me hizo tedioso