public boolean saveZutat(String zutatId, String zutatName, String zutatPreis, String zutatLager, String zutatEinheit){
		boolean isValid = true;
		int zId = Integer.parseInt(zutatId);

		// Validation
		if(!formValidator.isValidName(zutatName)){
			isValid = false;
			this.appendFormError("Feld \"Name\" fehlerhaft: "+formValidator.MsgIsNotValidName()+"<br />");
		}
		if(!formValidator.isValidPositiveDouble(zutatPreis)){
			isValid = false;
			this.appendFormError("Feld \"Preis\" fehlerhaft: "+formValidator.MsgIsNotValidPositiveDouble()+"<br />");
		}
		if(!formValidator.isValidPositiveDouble(zutatLager)){
			isValid = false;
			this.appendFormError("Feld \"Lager\" fehlerhaft: "+formValidator.MsgIsNotValidPositiveDouble()+"<br />");
		}
		
		if(isValid){
			ObjectFactory factory = new ObjectFactory();
			Ingredient ingredient;
			ingredient = factory.createIngredient();
			ingredient.setId(zId);
			ingredient.setName(zutatName);
			ingredient.setUnit(Units.fromValue(zutatEinheit));
			zutatLager = zutatLager.replace(',', '.');
			zutatPreis = zutatPreis.replace(',', '.');
			ingredient.setStock(Double.parseDouble(zutatLager));
			ingredient.setPrice(Double.parseDouble(zutatPreis));		
		
			if(zId ==-1){
				int numberOfZutaten = this.getNrZutaten();
				int maxZutatId;
				try{
					maxZutatId = this.modelData.getIngredients().getIngredient().get(numberOfZutaten-1).getId();
				}catch( ArrayIndexOutOfBoundsException e){
					maxZutatId = 0;
				}
				ingredient.setId(maxZutatId+1);
				
				this.modelData.getIngredients().getIngredient().add(ingredient);
			}
			else{
				for (int i=0; i< this.getNrZutaten(); i++ ){
					int currentId = this.modelData.getIngredients().getIngredient().get(i).getId();
					if(currentId == zId)
					{
						this.modelData.getIngredients().getIngredient().set(i, ingredient);	
					}
				}
			}
			return isValid;
		}
		else{
			return isValid;
		}
	}