Leere validatedBy in @Constraint
-
12-10-2019 - |
Frage
Ich bemerkte, dass alle Einbau-Einschränkungen haben einen leeren Wert für den validatedBy
Parameter in @Constraint
. das heißt @Constraint(validatedBy = {})
Erstens, warum sie einen leeren Wert für validatedBy
haben dürfen? Ich dachte, Sie es leer nur für Constraint Zusammensetzung verlassen kann, die nicht addtional Validierung benötigt?
Beachten Sie auch, dass der Hibernate Validator noch eine Validator Implementierungsklasse für jeden Einbau-Einschränkung finden, trotz der validatedBy
leer ist, aber wenn ich die validatedBy leer für meine Einschränkung verlassen, mein eigener Prüfer wird nie abgeholt. Warum das?
Danke.
Lösung
Der Einbau-behandelt werden in spezieller Implementierung spezifisch und ihre Validatoren sind programmatisch konfiguriert.
Für Hibernate Validator ist es in ConstraintHelper.java
. Ich glaube, Sie können nicht das gleiche für Ihre kundenspezifische Einschränkungen erreichen.
Andere Tipps
Vielleicht an dieser Antwort einen Blick:
Wie Quer Abhängigkeit zwischen den Schichten zu vermeiden wegen @Constraint validatedBy?
Und diese zwei Verbindungen:
Hinzufügen von Einschränkungen programmatisch: http: //docs.jboss.org/hibernate/stable/validator/reference/en-US/html/validator-specifics.html#section-programmatic-api
Einschränkungen pro xml Hinzufügen: http: //docs.jboss. org / Hibernate / Validator / 4.1 / reference / en-US / html / Validator-xmlconfiguration.html