Все условия работают, программа определяет String когда нужно, но валидатор не принимает решение по последнему пункту.