CoCoCoder, я ничо не понял. Где у вас запись в window? Если вы не записываете в window, то не стоит ожидать что там что-то появится. То есть вам сначала нужно записать в window, а потом уже искать нужные свойства там
window[key] - а это вообще что значит? Что конкретно должно лежать в этих свойствах и откуда они там должны появиться? В вашем коде я не вижу нигде записи в window, поэтому не вижу и причин почему в этих свойствах должны лежать объекты у которых мог бы быть метод setCustomValidity
Vadim Rublev, "Насколько я понял, функцию как бы надо завершить return'ом" - а из чего вы это поняли? Киньте ссылку, пожалуйста
"Или в JS тоже можно просто return написать?" - "просто return" это слегка не то же самое, что и naked return. То есть можно, но результат будет не такой же как в go
dEnisHamer, вы не поверите, но на qna.habr.com не приветствуются вопросы ответы на которые можно найти в первой же строке выдачи гугла. Пруф:
Так что "не пиши если не знаешь ответа" в данном случае неуместно настолько же насколько неуместен и ваш вопрос. Как минимум потому что ответ знает любой человек способный напечатать этот вопрос в гугле,
Elena0394, "а как мне понять ошибку?" - ну это же учебные задачи. Так что каким конкретно способом вы будете править ваши алгоритмы и искать в них логические ошибки - вам решать. В этом же и цель обучения - сталкиваетесь с новой сложностью, напрягаетесь, справляетесь с этой сложностью, в результате чего создаете новые связи между нейронами, ..., профит!