Здравствуйте
Проблема с валидацией форм, хотя вопрос больше по подходу / стилю написания.
___
Задумка: есть инпут, при потере фокуса, если ввод не соответствует условиям, появляется предупреждение
___
В коде: есть объект, в нем: переменная, что хранит инпут; функция, что проверяет, и создает сообщение, если нужно; функция, что вешает листенеры на инпуты (их больше, и в дальнейшем проверка будет не только при потере фокуса);
___
Проблема(если я правильно понял): так как инпуты описаны в виде переменных объекта, доступ к ним из функций реализован через this. Но так как вызываются они по ивенту, контекст теряется (this.inputLogin = undefined).
___
Предполагаемые варианты решения: можно получать инпут внутри функции валидации, но это похоже на хардкодинг, прийдется дублировать в дальнейшем; можно биндить this (не уверен как это будет работать) или передавать в функцию инпут параметром (или получать его через
event.target)
___
Вопрос: какой из подходов правильный (или стоит сделать еще как-то по другому)? Более широкий ответ приветствуется, если будет затронут стиль написания/подход - вообще отлично (очень интересует, как писать правильный код)
___
Код:
https://codepen.io/AenSaevherne/pen/ZEQWwLJ(что бы увидеть ошибку: любой ввод в инпут и убрать фокус)