2016-04-08 4 views
0
public class MyDomain { 
    String test; 

    @NotBlank 
    @Pattern(regexp = "[0-9]") 
    public String getTest() { 
     return this.test; 
    } 
} 

Ich habe eine commons Bibliothek mit Standardüberprüfung geschrieben: die Testzeichenfolge sollte nie leer sein.Bedingte Hibernat-Validierungen?

Aber in einer Anwendung möchte ich explizite Leerzeichen hier für diesen Parameter zulassen.

Frage: Wie kann ich die @Pattern Validierung bedingt machen, zB basierend auf einem application.properties Wert?

Antwort

1

Sie könnten einen benutzerdefinierten Validator für @NotBlank implementieren, der die Einstellung von application.properties berücksichtigt.

Bei der Konfiguration dieses Validators, z. Durch eine XML-Constraint-Mapping-Datei müssten Sie den Standardvalidator für die Constraint deaktivieren und nur Ihre neue Implementierung übernehmen.