3
respostas

Adicionar configuração

Olá, estou colocando uma pequena regra de validação, impedindo que um livro seja cadastrado com uma data de lançamento maior que a atual, segue o código:

        int dia = LocalDate.now().getDayOfMonth();
        int mes = LocalDate.now().getMonthValue();
        int ano = LocalDate.now().getYear();

        Calendar dataAtual = Calendar.getInstance();

        dataAtual.set(Calendar.DAY_OF_MONTH, dia);
        dataAtual.set(Calendar.MONTH, mes);
        dataAtual.set(Calendar.YEAR, ano);

        if(produto.getDataLancamento().after(dataAtual)){
            erros.rejectValue("dataLancamento", "field.required");
        }

Porém se eu coloco, por exemplo, o último (ou qualquer outro) dia desse ano (2017). Ele passa, se eu coloco 2018, ele já não cadastra e exibe a validação. Como procedo para filtrar também o dia e o mês?

Abraços.

3 respostas

Opa, acho que não entendi o problema.. o código ta bem direto.. se a data de lançamento do produto for depois da atual, rejeita.. qual situação exata que dá errado?

Fala Alberto, tudo beleza? qualquer data em que o ano não seja 2018. Por exemplo, se eu coloco "30/12/2017" ele passa normalmente e não deveria, pois é uma data futura, entende?

Abraços.

Entendi.. bom, acho que vc precisa conferir quais valores estão chegando ali no objeto.. algum valor deve ta chegando errado, pois o código parece certo.