В моем приложении Spring MVC я использую @Validated
объекты в моих контроллерах, используя JSR-303.В моем контексте приложения Spring я определил собственный MessageSource для чтения сообщений из файла resources / messages.properties.
Я могу читать и переопределять сообщения по умолчанию javax.validation (например, NotNull), ноЯ получаю сообщение об ошибке, если пытаюсь использовать интерполяцию сообщений для чтения параметра (например, min или max из @Size(max=...)
.
. Обратите внимание, что если я устанавливаю сообщение непосредственно в моей модели, оно правильно отображает «интерполированный»"message (сообщение по умолчанию тоже работает нормально).
Класс модели:
public class Customer {
@JsonProperty("name")
@NotNull
@Size(max = 50) // if I add message = "This field must be less than {max} characters long" it works!
private String name;
// Other fields here + getters and setters
}
messages.properties:
Size=This field must be less than {max} characters long
NotNull=This field must be set.