public String validacao(Model model, @Valid Alimento alimento, BindingResult bindingResult) { if (alimento.getNome().isEmpty()) { model.addAttribute("erroNome", "Preencha o campo com o nome do alimento."); return cadastrarAlimento(model, alimento); } else if (alimento.getCategoria() == null) { model.addAttribute("erroCategoria", "Selecione uma categoria."); return cadastrarAlimento(model, alimento); } else if (alimento.getPorcaoBaseCalculo().isEmpty() || alimento.temLetraPorcaoBaseCalculo() || alimento.getUnidadeBaseCalculo() == null) { model.addAttribute( "erroPorcaoBaseCalculo", "Preencha o campo com números e marque a unidade da porção. "); return cadastrarAlimento(model, alimento); } else if (alimento.getPorcaoExibicao().isEmpty() || alimento.temLetraPorcaoExibicao() || alimento.getUnidadeExibicao() == null) { model.addAttribute( "erroPorcaoExibicao", "Preencha o campo com números e marque a unidade da porção."); return cadastrarAlimento(model, alimento); } else if (alimento.getMedidaCaseira().isEmpty() || alimento.getMedidaCaseira() == null) { model.addAttribute("erroMedidaCaseira", "Preencha o campo."); return cadastrarAlimento(model, alimento); } else if (alimento.temLetraCalorias()) { model.addAttribute("erroCalorias", "O campo calorias só pode conter caracteres numéricos!"); return cadastrarAlimento(model, alimento); } else if (alimento.temLetraAcucar()) { model.addAttribute("erroAcucar", "O campo açucar só pode conter caracteres numéricos!"); return cadastrarAlimento(model, alimento); } else if (alimento.temLetraSodio()) { model.addAttribute("erroSodio", "O campo sodio só pode conter caracteres numéricos!"); return cadastrarAlimento(model, alimento); } else if (alimento.temLetraGordura()) { model.addAttribute("erroGordura", "O campo gordura só pode conter caracteres numéricos!"); return cadastrarAlimento(model, alimento); } return "Salvar"; }