Способ сравнить предыдущую дату в экземпляре с обновленной датой? - PullRequest
0 голосов
/ 22 апреля 2020

Я прошел путь проверки на этом и получаю сообщение, но оно не сохраняется. Я хочу, чтобы всплыло сообщение об ошибке и говорилось, что дата, которую пользователь вводит, должна быть датой, следующей за предыдущей. Пример Station 1 назначен проекту 19.05.2017, и пользователь хочет выполнить обновление другого проекта 09.09.2017. Я хочу, чтобы в сообщении говорилось, что это запрещено.

private Date project_startdate;

 @AssertTrue
    private boolean validateStartDate(){
        if (project_startdate.before(this.project_startdate))  {

            return false;
        }
        return true;
    }

Другой класс, который вызывается для создания сообщения. На данный момент я вижу, что он правильно выдает сообщение, но он также выдает сообщение, когда пользователь ставит дату после предыдущей. Помогите, пожалуйста.

public boolean validateStartDateII(MessageContext messages, Station station) {      boolean valid = true;       if (!station.getProject_startdate().before(station.getProject_startdate())) {           messages.addMessage(new MessageBuilder().error().source("project_startdate")
                    .code("station.invalidStartDateII").build());           
valid = false;      }       
return valid;   }

Как бы я go о том, чтобы он только отображал сообщение с новой датой <сообщение о возврате старой даты, еще работал? </p>

1 Ответ

0 голосов
/ 22 апреля 2020

Похоже, вы сравниваете те же данные в этом операторе if if (!station.getProject_startdate().before(station.getProject_startdate())). Я сомневаюсь, что station.getProject_startdate().before(station.getProject_startdate()) когда-нибудь будет правдой. Возможно, вы хотите сравнить два разных времени там?

Также this.project_startdate и project_startdate были бы одинаковыми в вашем случае.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...