Si valida que es menor de 18 años, pero al ingresar un mayor de edad no genera ningun error ni registra.
const inputNacimiento = document.querySelector("#birth");
inputNacimiento.addEventListener("blur", (evento) => {
validarNacimiento(evento.target);
});
function validarNacimiento(input){
const fechaCliente = new Date(input.value);
let mensaje = " ";
if(!mayorDeEdad(fechaCliente)){
mensaje = " Debes tener al menos 18 años";
}
input.setCustomValidity(mensaje);
};
function mayorDeEdad(fecha) {
const fechaActual = new Date();
const diferenciaFechas = new Date(
fecha.getUTCFullYear()+18,
fecha.getUTCMonth(),
fecha.getUTCDate()
);
return diferenciaFechas <= fechaActual;
}