standardize messages and customize minLength() == 1 case