Ich benutze Hibernate Validator Version 5.3.0.Wie Max-Wert in @Size Annotation aus Eigenschaftendatei festlegen?
Folgendes ist die Klasse, die ich validieren möchte.
public class DocumentRequest {
@NotEmpty(message="{invalid.docId}")
private String docId;
@NotEmpty(message="{invalid.title}")
@Size(max=200, message="{invalid.title}")
private String title;
}
Das Problem hier ist der max Wert von @Size
ist eine "Magie" Nummer (Zitiert Sonar
). Wie kann ich es aus der Eigenschaftendatei festlegen?
Ich habe versucht, es wie folgt hinzuzufügen:
public class DocumentRequest {
@NotEmpty(message="{invalid.docId}")
private String docId;
@NotEmpty(message="{invalid.title}")
@Size(max="{max.default.value}", message="{invalid.title}")
private String title;
}
I max.default.value
in validation.properties Datei hinzugefügt, aber die max int
sein kann, und ich bin vorbei String
zu. So als Ergebnis:
Type mismatch: cannot convert from String to int
Gibt es eine Möglichkeit, dies zu erreichen?
Einverstanden, dass Sonar Konstanten in Anmerkungen als ein Problem kennzeichnet, scheint nur fehlgeleitete. Nichtsdestoweniger haben wir eine API für die Deklination dynamischer Constraints im Hibernate Validator, die Sie * benutzen können, aber es ist wirklich nicht das, was in diesem Fall getan werden sollte. – Gunnar