Простая ошибка TypeError возвращается с параметром функции undefined - PullRequest
0 голосов
/ 21 января 2020
//Validation script
const inputs = document.querySelectorAll('input');

const patterns = {
    telephone: /^\d{11}$/
};


function validate (field, regex) { // Here I get a TypeError:  regex is undefined
   if(regex.test(field.value)){
       field.className = 'valid';
   }else{
       field.className = 'invalid';
   }
}

inputs.forEach((input) => {
    input.addEventListener('keyup', (h) => {
        //console.log(h.target.attributes.name.value);
        validate(h.target, patterns['h.target.attributes.name.value'])
    });
});

Я получаю сообщение TypeError для 'regex', когда использую Консоль в инструментах Web Dev. Я рад, когда дело доходит до этого, и был бы признателен за любые отзывы, которые могли бы помочь прояснить, что я предполагаю, простая ошибка.

1 Ответ

1 голос
/ 21 января 2020

Когда вы вызываете функцию проверки, второй параметр оценивается как неопределенный. Я предполагаю, что вы пытаетесь сделать так, чтобы это были шаблоны ['телефон']. Ключ, который вы ищите в объекте шаблонов - это строка, когда, я думаю, вы хотите, чтобы он был без кавычек.

patterns[h.target.attributes.name.value]

Я предполагаю, что h.target.attributes.name.value оценит на «телефон».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...