LeagueError valid() {
		// check for lock
		if (!teamDivVector.isLocked()) {
			return LeagueError.NOTHING_EDITED;
		}

		// check nof teams
		for (int div = 1; div <= modus.getNofDivisions(); div++) {
			if (modus.getNofTeams() != teamDivVector.getNofTeams(div)) {
				// wrong nof teams for division teams (but don't check transfer
				// teams)
				return LeagueError.WRONG_NOF_TEAMS;
			}
		}

		// completeness of teams (nof players)
		for (int div = 1; div <= modus.getNofDivisions() + 1; div++) {
			int nofTeams = teamDivVector.getNofTeams(div);
			for (int i = 0; i < nofTeams; i++) {
				Team team = teamDivVector.getTeam(div, i);
				if (team.getNofPlayers() != Team.TEAM_MUSTBEINITPLAYER) {
					return LeagueError.WRONG_NOF_PLAYERS;
				}
			}
		}
		return LeagueError.OK;
	}