Интерпретация сообщений проверки JPA с Thymeleaf - PullRequest
0 голосов
/ 05 июня 2019

Я столкнулся с проблемой, которую не могу решить. Я хотел бы интернационализировать сообщения проверки JPA с помощью Spring Thymeleaf.

Я пробовал несколько решений, но ни одно из них не работает.

Это мое свойство класса сущности:

@Length(min = 1, message = "#{field.empty}")
@Valid
private String lastName;

Это форма листьев тимьяна:

<div class="form-group col">
    <label for="lastName" th:text="#{register.lastname}"></label>
    <input id="lastName" class="form-control" type="text"
        th:placeholder="#{register.lastname}"
        th:field="*{lastName}"
        th:classappend="${#fields.hasErrors('lastName')} ? is-invalid : ''"/>
    <small class="form-text text-danger"
        th:if="${#fields.hasErrors('lastName')}"
        th:errors="*{lastName}"></small>
</div>

Я ожидаю напечатать переведенное сообщение об ошибке так же, как вы видите здесь

<label for="lastName" th:text="#{register.lastname}"></label>

Но вместо того, чтобы видеть переведенный вывод, я вижу # {field.empty}

Есть ли способ сделать это?

1 Ответ

1 голос
/ 06 июня 2019

Так что благодаря goalkicker Spring book (Глава 8: Проверка бинов Spring JSR 303) я решил мою проблему. Вы можете установить сообщения об ошибках в messages.property generic для типа аннотации и для определенных свойств класса:

А для

@Length

использовать

Length=error message here. 

Для этого конкретного поля (lastName)

Length.lastName=error message here

То же самое можно использовать для всех аннотаций JPA

...