@Override
  public List<String> getInvalidityInfo() {
    // id is allowed to be null when the student is not registered
    Assumption.assertTrue(team != null);
    Assumption.assertTrue(comments != null);

    FieldValidator validator = new FieldValidator();
    List<String> errors = new ArrayList<String>();
    String error;

    if (isRegistered()) {
      error = validator.getInvalidityInfoForGoogleId(googleId);

      if (!error.isEmpty()) {
        errors.add(error);
      }
    }

    error = validator.getInvalidityInfoForCourseId(course);

    if (!error.isEmpty()) {
      errors.add(error);
    }

    error = validator.getInvalidityInfoForEmail(email);

    if (!error.isEmpty()) {
      errors.add(error);
    }

    error = validator.getInvalidityInfoForTeamName(team);

    if (!error.isEmpty()) {
      errors.add(error);
    }

    error = validator.getInvalidityInfoForSectionName(section);

    if (!error.isEmpty()) {
      errors.add(error);
    }

    error = validator.getInvalidityInfoForStudentRoleComments(comments);

    if (!error.isEmpty()) {
      errors.add(error);
    }

    error = validator.getInvalidityInfoForPersonName(name);

    if (!error.isEmpty()) {
      errors.add(error);
    }

    return errors;
  }