Svuotare validatedBy in @Constraint
-
12-10-2019 - |
Domanda
Ho notato che tutti vincoli integrati hanno un valore vuoto per il parametro validatedBy
in @Constraint
. cioè @Constraint(validatedBy = {})
In primo luogo, perché sono autorizzati ad avere un valore vuoto per validatedBy
? Ho pensato che si può lasciare in bianco solo per la composizione vincolo che non ha bisogno di convalida supplementare?
Si noti inoltre che il Hibernate Validator può ancora trovare una classe di implementazione validatore per ogni incorporato vincolo, nonostante il validatedBy
è vuoto, ma se lascio il vuoto validatedBy per il mio vincolo, il mio validatore personalizzato non viene raccolto. Perché?
Grazie.
Soluzione
Quelli built-in vengono trattati in modo speciale implementazione specifici e le loro validatori sono configurati a livello di codice.
Per Hibernate Validator è fatto in ConstraintHelper.java
. Penso che non è possibile ottenere lo stesso per i vostri vincoli personalizzati.
Altri suggerimenti
Forse dare un'occhiata a questa risposta:
Come evitare la dipendenza incrociata tra gli strati a causa della @Constraint validatedBy?
E questi due link:
L'aggiunta di vincoli di programmazione: http: //docs.jboss.org/hibernate/stable/validator/reference/en-US/html/validator-specifics.html#section-programmatic-api
L'aggiunta di vincoli per xml: http: //docs.jboss. org / hibernate / validator / 4.1 / riferimento / it-IT / html / validatore-xmlconfiguration.html