1
respuesta

Fuction setCustomValidity()

Error, no se muesta mensaje al validar el campo fecha de nacimiento

Hola, tengo duda sobre el funcionamiento de setCustomValidity(mensaje), siguiendo al explicación del profesor; a mi no resulto. Seguí tal cual los pasos del profesor, pero no me funciono, este cambie por un alert y hay solo hay me muestra el mensaje de que el usuario El usuario debe tener al mens 18 años de edad, no sabria como solucionarlo así lo deje con simple alert. les dejo el codigo:

function validarNacimiento(input) 
{
    const fechaCliente = new Date(input.value);
    // let mensaje = "";

    if(!mayorDeEdad(fechaCliente)) {
        // mensaje = "Debes tener al menos 18 años de edad";
        alert("Debes tener al menos 18 años de edad");
    }
    // input.setCustomValidity(mensaje);
}

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;
}



const inputNacimiento = document.querySelector("#birth");

inputNacimiento.addEventListener("blur", function(e) {
    validarNacimiento(e.target);
});

De ante mano agredesco sus ayudas

Quedo atento a sus comentarios!!

Saludos, Atte. Daniel Gómez

1 respuesta

Hola, Daniel. Ya veo tu problema, lo que pasa es que necesitas "limpiar" la variable input con un .addEventListener y todo funcionara bien. Espero que te haya ayudado.