@Override
    public void validate(Object o, Errors errors) {
        String zipCode = o.toString();
        if (zipCode == null || zipCode.length() == 0 || zipCode.trim().length() == 0) {
            errors.reject(ZIP_CODE, BLANK_ZIP);
        } else if (zipCode.length() != 5) {
            errors.reject(ZIP_CODE, INVALID_ZIP);
        } else try {
            int zip = parseInt(zipCode);
            if (zip < 0) {
                errors.reject(ZIP_CODE, INVALID_ZIP);
            }
        } catch (NumberFormatException e) {
            errors.reject(ZIP_CODE, INVALID_ZIP_FORMAT);
        }
    }