2016-10-17 1 views
0

Ich benutze Hibernate-Validator 5.3.0.So erstellen Sie benutzerdefinierte Fehlermeldungen für Methodenparameter in Hibernate Validator

Das folgende ist meine Funktion mit der @NotNull-Einschränkung, wo ich die Validierung der Methodenparameter mache.

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

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

Nach der Lektüre this Frage, die ich gefunden, dass es möglich benutzerdefinierte Fehlermeldung in ValidationMessages.properties Datei mit diesem folgende Format setzen:

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

zum Beispiel

NotNull.TestClass.name=My Custom Message 

Aber diese Werke wenn Sie versuchen, einige Klassenfelder zu validieren.

So ist es möglich, dieses oder ein anderes Format zu verwenden und benutzerdefinierte Fehlermeldungen für Methodenargumente zu erstellen?

Vielen Dank im Voraus.

Antwort

0

Haben Sie sich die Annotationsparameter der Nachricht angesehen? Sie können eigene Nachrichten liefern, wenn Sie es zum Beispiel wie folgt aus wollen:

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

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

oder wenn Sie die gleiche Nachricht viele Male wiederverwenden möchten, können Sie es zu ValidationMessages.properties hinzufügen, wie Sie sagten, in so etwas wie dies Ihre Frage und später im Code tun:

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

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

und in Ihrem ValidationMessages.properties haben Sie:

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

können Sie finden Sie alles, was Sie hier brauchen - spec

Verwandte Themen