@RequestMapping(value = "/gerenciarAlimento", method = RequestMethod.POST)
  public String gerenciarAlimento(
      Model model, @Valid Alimento alimento, BindingResult bindingResult) throws Exception {

    if (alimento.getUrlImagemPequena().isEmpty()) {
      alimento.setUrlImagemPequena(
          "http://res.cloudinary.com/dq5mndrjt/image/upload/c_fit,w_108/v1436535224/lkt8uygy36ldiig3xglo.png");
    }
    if (alimento.getUrlImagemGrande().isEmpty()) {
      alimento.setUrlImagemGrande(
          "http://res.cloudinary.com/dq5mndrjt/image/upload/c_fit,w_390/v1436535224/lkt8uygy36ldiig3xglo.png");
    }

    String validacao = validacao(model, alimento, bindingResult);

    if (validacao.equals("Salvar")) {
      servicoAlimento.salvar(alimento);
      return "redirect:/detalhe/" + alimento.getCodigo();
    } else {
      return validacao;
    }
  }
 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";
 }