Fornire valori per un validatore di ibernazione che consente più valori
-
14-11-2019 - |
Domanda
Ho un validatore di ibernazione che convalida un campo contro un determinato elenco di stringhe.Metterò il codice per una migliore chiarezza.
@Target({ METHOD, FIELD, ANNOTATION_TYPE })
@Retention(RUNTIME)
@Constraint(validatedBy = AllowedValuesValidator.class)
@Documented
public @interface AllowedValues {
...
String[] value();
}
.
In precedenza lo stavamo usando come
@AllowedValues("value1")
private String method;
.
Ora dobbiamo usarlo per una gamma di valori, il metodo può avere più valori.Ho provato entrambi:
@AllowedValues("Standard", "One-Day", "Two-Day", "Three-Day")
private String method;
.
e
@AllowedValues("Standard, One-Day, Two-Day, Three-Day")
private String method;
.
Primo non si compila e il secondo richiede una stringa intera come valore consentito (che è ovvio).
Qualche idea come specificare più valori qui?
Soluzione
Since it's a String[]
, you need to use array initializer syntax for multiple values:
@AllowedValues({"Standard", "One-Day", "Two-Day", "Three-Day"})
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow