Tem algum jeito de impedir com que o usuário digite algo diferente de números positivos começado a partir de 1? Pois daí não precisaria fazer as verificações se é um número negativo, zero ou outro símbolo dado que é impossível o usuário digitar algo diferente do que é permitido.
Coloquei uma expressão regular aqui que impede que o usuário digite símbolos ou 0 no começo, mas não sei se está muito certo. Isso elimina a necessidade de fazer verificações do campo, né?