Весенняя проверка с @Valid, где / Как пользовательские сообщения об ошибках

StackOverflow https://stackoverflow.com/questions/4281165

Вопрос

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

Моя установка немного отличается. Я использую аннотацию @Valid в моей запросе, и мой класс @Valid использует @notnull и т. Д. Я видел некоторые примеры, где люди делают @notnull (Message = "Blablabla"); Но это также хардкодируется, и я хотел бы поставить сообщения в файл свойств, чтобы я мог легко редактировать его на лету, и поэтому я могу легко реализовать I18N в будущем.

Любой вклад о том, как добиться этого будет оценено.

Это было полезно?

Решение

Работает точно так же, как и с явным Validator - ты Объявить А. MessageSource и запись сообщений об ошибках в .properties файлы. Коды сообщений формируются как constraintName.modelAttributeName.propertyName:

publib class Foo {
    @NotNull private String name;
    ...
}

.

@RequestMapping
public String submitFoo(@Valid Foo foo, ...) { ... }

messages.properties:

NotNull.foo.name=...

MessageSource Декларация:

<bean id="messageSource"
    class="org.springframework.context.support.ResourceBundleMessageSource">
    <property name="basename" value = "messages" />
</bean>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top