validated port input