1. https://developer.mozilla.org/en-US/docs/Web/CSS/p...
2. &::before:hover это дичь/ У псевдоэлементов нет состояний.
3. Нельзя писать текст ошибки в псевдоэлемент. Это контент, который должен быть доступен всем.
Начните вот отсюда https://learn.javascript.ru/introduction-browser-e...
Прочтение этой статьи, возможно, наведет вас на мысль как это вообще переделать. Пока логика скрипта выглядит очень странно и зачем там инпут в принципе.
И старайтесь давать названия нормальными английскими словами, чтобы другие люди могли понять о чем вообще идет речь.
Я потратила некоторое время, чтобы догадаться ху из pocup.