@AssertTrue-如何在百里香中显示验证消息?

时间:2019-07-09 09:07:17

标签: java spring-boot validation thymeleaf

我想比较两个密码是否匹配,我可以使用一个字段和@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为true,看来@AssertTrue也不会更改其值以进行验证(因为当我使用断点查看值时,我可以看到passFlag具有正确的值值,但我仍然收到错误消息)。

那么我该如何修改上面的代码以处理错误消息,甚至更好-可以比较两个字段并在需要时显示错误消息吗?

0 个答案:

没有答案