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

[Duda] Ayuda con Javascript

Hola, la verdad no entendí el código Javascript que escribí. El profesor no explicó casi nada. Aquí dejo mi código. Por favor, ¿podrían explicarme detalladamente cada cosa?

const inputNacimiento = document.querySelector('#birth')

inputNacimiento.addEventListener("blur", (Event) => {
    validarNacimiento(evento.target)
})

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

function mayorDeEdad(fecha){
    const fechaActual = new Date();
    const diferenciaFechas = new Date(fecha.getUTCFullYear() + 18, fecha.getUTCMonth(), fecha.getUTCDate());
    console.log(diferenciaFechas <= fechaActual);
};
return diferenciaFechas <= fechaActual;
1 respuesta

Buenas te comentare el codigo, segun lo que entiendo

    //Se selecciona un elemento con el ID birth
    const inputNacimiento = document.querySelector('#birth')


    // se le agrega un evento, a ese elemento seleccionado anteriormente,
    // es de tipo blur por lo que se activara cuando saques el mouse de ese elemento
    // LEER: al callback  (Event) => {} le pasas Event pero dentro usas evento.
    // tienes que usar el mismo que le pasas
    
    //inputNacimiento.addEventListener("blur", (Event) => {
    inputNacimiento.addEventListener("blur", (evento) => {
        validarNacimiento(evento.target)
    })



    function validarNacimiento(input){
        const fecha = new Date(input.value);
        let mensaje = " "
        console.log(fecha);
        if  (!mayorDeEdad(fechaCliente)){
            mensaje = 'Debes tener al menos 18 años de edad'
        };
        
        // desconozco si la siguiente linea te funciona, en caso que no la docu dice que es un metodo
        // https://developer.mozilla.org/en-US/docs/Web/API/HTMLObjectElement/setCustomValidity
        // prueba de esta forma :
        // input.setCustomValidity("")  
        // o input.setCustomValidity(mensaje)
        input.setCustomValidity
    }

    function mayorDeEdad(fecha){
        const fechaActual = new Date();
        const diferenciaFechas = new Date(fecha.getUTCFullYear() + 18, fecha.getUTCMonth(), fecha.getUTCDate());
        console.log(diferenciaFechas <= fechaActual);
        
        //el return va dentro de esta funcion
        return diferenciaFechas <= fechaActual;
    };
    //eliminar este codigo
    //return diferenciaFechas <= fechaActual;