let name = document.querySelector("#name"),
age = document.querySelector("#age");
const errorText = {
name: "Укажите верное имя!",
age: "Укажите возраст!",
};
const regExp = {
name: /^[a-zA-Zа-яА-Я"][a-zA-Zа-яА-Я-" ]+[a-zA-Zа-яА-Я"]?$/,
age: /^([0-2]?[0-9])$/
};
let validate = function(key, value) {
if (!(regExp[key].test(value))) {
window[key].setCustomValidity(errorText[key]);
}
else {
window[key].setCustomValidity("");
}
};
name.addEventListener("input", function() {
let name__value = name.value;
validate("name", name__value);
this.removeEventListener(event.type,arguments.callee,event.eventPhase);
}, false);
age.addEventListener("input", function() {
let age__value = age.value;
validate("age", age__value);
this.removeEventListener(event.type,arguments.callee,event.eventPhase);
}, false);
При всё этом при вводе именно в форму "NAME" выскакивает эта ошибка, а в идентичную форму "AGE" нет!
Я полностью проверял, что нет аналогичных ID на странице, что скрипт успевает загружаться полностью, переписывал "name" под шаблон "age", переставлял их местами, но всё равно при вводе в input с ID = "name" ошибка:
"Uncaught TypeError: window[key].setCustomValidity is not a function".