Я хочу сравнить 2 пароля, чтобы увидеть, совпадают ли они, я могу сделать это с полем и @AssertTrue
, однако я не могу отобразить сообщение, если проверка не пройдена.
Я пытаюсь так:
@Transient
@NotNull(message = "Passwords must match")
private String passFlag = null;
@AssertTrue
private boolean isValid() {
if (password.equals(confirmPassword)) {
passFlag = "a string";
return true;
}
return false;
}
<span class="error" th:if="${#fields.hasErrors('passFlag')}" th:errors="*{passFlag}"></span>
Используя точки останова, я вижу, что все значения верны, как и ожидалось, однако я всегда получаю сообщение об ошибке, даже если пароли совпадают.
Кажетсячто passFlag
не изменяет свое значение для проверки, даже если @AssertTrue
является истинным (потому что когда я использую точки останова для просмотра значений, я вижу, что passFlag
имеет правильное значение, но я все еще получите сообщение об ошибке).
Итак, как я могу изменить приведенный выше код для работы с сообщением об ошибке, а еще лучше - лучше ли сравнить 2 поля и отобразить сообщение об ошибке, если это необходимо?