@valid WHERE/どのようにカスタムエラーメッセージを使用したスプリング検証

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

質問

プロパティファイルのエラーメッセージを使用して、スプリング検証を実行しようとしています。しかし、私が見つけた例はすべて、値がハードコードされているか、プロパティファイルから得られたが、Validatorクラスを使用してそこで取得しているようです。

私のセットアップは少し違っています。私はリクエストマッピングで@validアノテーションを使用しており、@validクラスは@notnullなどを使用しています。@notnull(message = "blablabla")を使用する例を見てきました。しかし、それもハードコードされているので、メッセージをプロパティファイルに配置して、簡単に編集できるようにして、将来i18nを簡単に実装できるようにしたいと思います。

これを達成する方法に関する入力は大歓迎です。

役に立ちましたか?

解決

明示的なものとまったく同じように機能します Validator - 君 宣言a 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