2016-10-17 5 views
0

私はhibernate-validator 5.3.0を使用しています。Hibernate Validatorでメソッドパラメータのカスタムエラーメッセージを作成する方法

以下は、メソッドパラメータの検証を行う@NotNull制約の関数です。例えば

[ConstraintName].[ClassName].[FieldName]=[Message] 

NotNull.TestClass.name=My Custom Message 

しかし、これは動作します:

public void test(@NotNull String firstName, @NotNull String lastName) { 

    ValidatorFactory factory = Validation.buildDefaultValidatorFactory(); 
    Validator validator = factory.getValidator(); 
    .... 
} 

this質問を読んだ後、私はそれがこの次の形式でファイルValidationMessages.propertiesにカスタムエラーメッセージを入れることも可能だということを発見しましたいくつかのクラスフィールドを検証しようとしているとき。

このような形式を使用して、メソッド引数のカスタムエラーメッセージを作成することは可能ですか?

ありがとうございます。

答えて

0

メッセージアノテーションパラメータを見ましたか? あなたはこのような例のためにそれを使用したい場合は、独自のカスタムメッセージを提供することができます。

public void test(@NotNull(message = "My custom message for first name") String firstName, @NotNull String lastName) { 

    ValidatorFactory factory = Validation.buildDefaultValidatorFactory(); 
    Validator validator = factory.getValidator(); 
    .... 
} 

たり、同じメッセージに多くの時間を再利用する必要がある場合は、に言ったように、あなたはValidationMessages.propertiesに追加することができます後にコードでのご質問や、このような何か:

public void test(@NotNull(message = "{my.custom.message.key}") String firstName, @NotNull String lastName) { 

    ValidatorFactory factory = Validation.buildDefaultValidatorFactory(); 
    Validator validator = factory.getValidator(); 
    .... 
} 

そして、あなたのValidationMessages.properties中をあなたは持っているでしょう:

my.custom.message.key=My custom message goes here 

をすることができますここに必要なものをすべて見つけてください - spec

関連する問題