@Post @Path("/sessao/{sessaoId}/reserva") public void reserva(Long sessaoId, final Integer quantidade) { Sessao sessao = agenda.sessao(sessaoId); if (sessao == null) { result.notFound(); return; } if (quantidade < 1) { validator.add(new SimpleMessage("", "Você deve escolher um lugar ou mais")); } if (!sessao.podeReservar(quantidade)) { validator.add(new SimpleMessage("", "Não existem ingressos disponíveis")); } // em caso de erro, redireciona para a lista de sessao validator.onErrorRedirectTo(this).sessao(sessao.getId()); BigDecimal precoTotal = CalculadoraDePrecos.calcula(sessao, quantidade); sessao.reserva(quantidade); result.include("message", "Sessão reservada com sucesso por " + CURRENCY.format(precoTotal)); result.redirectTo(IndexController.class).index(); }
private Espetaculo carregaEspetaculo(Long espetaculoId) { Espetaculo espetaculo = agenda.espetaculo(espetaculoId); if (espetaculo == null) { validator.add(new SimpleMessage("", "")); } validator.onErrorUse(status()).notFound(); return espetaculo; }
public boolean validate(String email) { if (users.existsWithEmail(email)) { validator.add(messageFactory.build("error", "user.errors.email.used")); } if (email == null) { validator.add(messageFactory.build("error", "user.errors.email.required")); } return !validator.hasErrors(); }
@Log @Public @Post public void autentica(Usuario usuario) { if (!dao.existe(usuario)) { validator.add(new I18nMessage("login", "login.invalido")); validator.onErrorUsePageOf(this).formulario(); } usuarioLogado.setUsuario(usuario); result.redirectTo(ProdutoController.class).lista(); }
@Post("/espetaculos") public void adiciona(Espetaculo espetaculo) { // aqui eh onde fazemos as varias validacoes // se nao tiver nome, avisa o usuario // se nao tiver descricao, avisa o usuario if (Strings.isNullOrEmpty(espetaculo.getNome())) { validator.add(new SimpleMessage("", "Nome do espetáculo não pode estar em branco")); } if (Strings.isNullOrEmpty(espetaculo.getDescricao())) { validator.add(new SimpleMessage("", "Descrição do espetáculo não pode estar em branco")); } validator.onErrorRedirectTo(this).lista(); agenda.cadastra(espetaculo); result.redirectTo(this).lista(); }
protected void reportFileUploadException(FileUploadException e, Validator validator) { validator.add(new I18nMessage("upload", "file.upload.exception")); logger.warn( "There was some problem parsing this multipart request, " + "or someone is not sending a RFC1867 compatible multipart request.", e); }
@IncludeParameters public void adiciona(@Valid Usuario usuario) { validator.onErrorRedirectTo(this).form(); usuario.setCriado(LocalDateTime.now()); usuario.setCriadoPor(usuario.getUsuarioId().toString()); usuarioDao.adiciona(usuario); result.redirectTo(this).lista(); }
/** This method is called when the {@link SizeLimitExceededException} was thrown. */ protected void reportSizeLimitExceeded(final SizeLimitExceededException e, Validator validator) { validator.add( new I18nMessage("upload", "file.limit.exceeded", e.getActualSize(), e.getPermittedSize())); logger.warn( "The file size limit was exceeded. Actual {} permitted {}", e.getActualSize(), e.getPermittedSize()); }