Numeric input validator

OK. I'm thinking that it's good enough to merge now.