Domanda

Sto cercando di fare un po 'di validazione primavera con i messaggi di errore nel file di proprietà. Ma gli esempi che ho trovato tutti sembrano avere i valori hardcoded, o ottenuto da un file di proprietà, ma con una classe di convalida e il recupero di lì.

La mia configurazione è un po 'diverso. Sto usando l'annotazione @Valid nel mio requestmapping, ed i miei usi classe @Valid @NotNull etc. Ho visto alcuni esempi in cui la gente fa @NotNull (message = "blablabla"); Ma questo è anche hard-coded, e mi piacerebbe mettere i messaggi in un file di proprietà in modo da poter facilmente modificare al volo e in modo da poter implementare facilmente i18n in futuro.

Qualunque input su come raggiungere questo sarebbe apprezzato.

È stato utile?

Soluzione

Funziona esattamente allo stesso modo con Validator esplicito - si dichiarano un MessageSource e messaggi di errore di scrittura nei file .properties. codici Messaggi sono formati come constraintName.modelAttributeName.propertyName:

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

.

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

messages.properties:

NotNull.foo.name=...

dichiarazione MessageSource:

<bean id="messageSource"
    class="org.springframework.context.support.ResourceBundleMessageSource">
    <property name="basename" value = "messages" />
</bean>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top