0

リソースキールックのデフォルトの動作は、フィールド名の前に制約を付けることのようです。代わりに投稿修正したいと思います。

public class MyForm {
    @NotEmpty
    private String name;
}

私の中でmessages.properties

myForm.name=The label
NotEmpty.myForm.name=Please enter your name

使用したい:

myForm.name=The label
myForm.name.NotEmpty=Please enter your name

これは明らかに純粋に表面的なものですが、私のOCDは私のリソースファイルの外観を処理できません。

Spring3.1.2とHibernateバリデーター4.3.0.Finalを使用しています。@Configurationそれ自体が使用しているアプリケーション@EnableWebMvcWebMvcConfigurerAdapterスタイル構成ですが、xmlベースのソリューションを変換できるはずです。

4

1 に答える 1

1

簡単なアイデアは、元のメソッドを拡張DefaultMessageCodesResolverしてオーバーライドすることpostProcessMessageCode()です。

protected String postProcessMessageCode(String code) {
    return getPrefix() + code;
}

好きなように変更してください。MessageCodesResolverブートストラップ時のデフォルトの動作として、Spring がタイプの Bean を選択すると思います。お役に立てれば。

Spring 3.1+では、 を介してメッセージ コード リゾルバーを構成できるようになりました<mvc:annotation-driven />Java API のサポートは3.2で提供されるようです。

于 2012-07-20T10:30:50.123 に答える