Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

[Duda] 05-Tipos de errores / Input no definido

Buen día,

Estoy siguiendo los pasos en este video pero en el minuto 8:40 ya no logro continuar acorde a la actividad me aparece error de input no definido en el servidor local, alguien que pueda identificar mi error para continuar y entender el contenido?

Gracias Comparto código e imagen del error.!![](Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad )Comparto código e imagen del error.!![](Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad )

Validaciones.js export function valida(input){ const tipoDeInput = input.dataset.tipo; if(validadores[tipoDeInput]){ validadorestipoDeInput; }

if(input.validity.valid){
    input.parentElement.classList.remove("input-container--invalid");
    input.parentElement.querySelector(".input.message-error").innerHTML = "";
}else{
    input.parentElement.classList.add("input-container--invalid");
    input.parentElement.querySelector(".input.message-error").innerHTML = mostrarMensajeDeError(tipoDeInput, input);
}

}

const tipoDeErrores = [ "valueMissing", "typeMismatch", "patternMismatch", "customError", ]

const mensajesDeError = { nombre: { valueMissing: "Este campo no puede estar vacío", }, email: { valueMissing: "Este campo no puede estar vacío", typeMismatch: "El correo no es válido", }, password: { valueMissing: "Este campo no puede estar vacío", patternMismatch: "l menos 6 caracteres, máximo 12, debe contener una letra minuscula, una mayúscula y no puede contener caracteres especiales", }, nacimiento: { valueMissing: "Este campo no puede estar vacío", customError: "Debes tener al menos 18 años de edad", } };

const validadores ={ nacimiento: (input) => validarNacimiento(input), }

function mostrarMensajeDeError(tipoDeInput, input){ let mensaje = ""; tipoDeErrores.forEach((error) => { if(input.validity[error]){ console.log(error); //console.log(input.validity[error]); } }) return mensaje; }

function validarNacimiento(input){ const fechaCliente = new Date (input.value); mayorEdad(fechaCliente); let mensaje = ""; if(!mayorEdad(fechaCliente)){ mensaje = "Debes tener al menos 18 años de edad"; }

input.setCustomValidity(mensaje);

};

function mayorEdad(fecha){ const fechaActual = new Date (); const diferenciaFechas = new Date( fecha.getUTCFullYear() + 18, fecha.getUTCMonth(), fecha.getUTCDate() ); return(diferenciaFechas <= fechaActual);

}

app.js import { valida } from "./validaciones.js";

const inputs = document.querySelectorAll("input");

inputs.forEach((input) =>{ input.addEventListener("blur", (input) => { valida(input.target); }) })

1 respuesta

Hola Leidy! No sé si ya solucionaste el error pero descubrí esta parte del código marcado en amarrillo que es diferente al de la clase:

error01

Debería ser:

        if(validadores[tipoDeInput]){
            validadores[tipoDeInput](input);
        }