spring - sirve - validación de primavera con @valid dónde/cómo los mensajes de error personalizados
spring mvc formulario ejemplo (1)
Funciona exactamente de la misma manera que con Validator
explícito: declara un MessageSource
y escribe mensajes de error en archivos .properties
. Los códigos de mensajes se forman como constraintName.modelAttributeName.propertyName
:
publib class Foo {
@NotNull private String name;
...
}
.
@RequestMapping
public String submitFoo(@Valid Foo foo, ...) { ... }
messages.properties
:
NotNull.foo.name=...
Declaración MessageSource
:
<bean id="messageSource"
class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basename" value = "messages" />
</bean>
Estoy intentando hacer una validación de primavera con los mensajes de error en los archivos de propiedades. Pero los ejemplos que encuentro parecen tener los valores codificados, o obtenidos de un archivo de propiedades pero usando una clase de validador y recuperándolo allí.
Mi configuración es un poco diferente. Estoy usando la anotación @Valid en mi requestmapping, y mi clase @Valid usa @NotNull, etc. He visto algunos ejemplos donde las personas hacen @NotNull (message = "blablabla"); Pero eso también está codificado, y me gustaría poner los mensajes en un archivo de propiedades para poder editarlo fácilmente sobre la marcha y así poder implementar fácilmente i18n en el futuro.
Cualquier aporte sobre cómo lograr esto sería apreciado.