@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"; }