Работает правильно и с отрицательными, и с положительными, и с нулями, а валидацию не проходит по 3-му пункту