Не понимаю, что не так? Кажется отрабатывает все правильно. Код получился лаконичный и логичный, а валидацию не проходит.