Все валидации проходит, но мне не нравится решение.. возможно есть варианты меньшим кол-вом циклов обойтись, заменив их на стандартные методы и сделать код более читаемым?