Sim, é possível criar uma mensagem de erro customizada para validar apenas o ano de nascimento. Você pode fazer isso adicionando uma condição no código da função ehMaiorDeIdade. Veja um exemplo:
export default function ehMaiorDeIdade(campo) {
const dataNascimento = new Date(campo.value);
const anoNascimento = dataNascimento.getFullYear();
const anoAtual = new Date().getFullYear();
if (anoNascimento < 1900 || anoNascimento > anoAtual) {
campo.setCustomValidity('Ano de nascimento inválido');
} else if (!validaIdade(dataNascimento)) {
campo.setCustomValidity('Você deve ser maior que 18 anos para se cadastrar');
} else {
campo.setCustomValidity('');
}
}
Dessa forma, se o ano de nascimento for menor que 1900 ou maior que o ano atual, a mensagem de erro "Ano de nascimento inválido" será exibida. Caso contrário, a validação de maioridade será feita normalmente.
Espero ter ajudado! Bons estudos :)