Will probably need to use both a notEmpty() and a is<Size>String() on these checks to split up the error messages. Also, saying the max / min number in the error message would be useful for the programmer who hits the error.