Ich frage mich, ob es möglich ist, einen neuen Constraint-Validator eines benutzerdefinierten Typs zu einer Annotation zu registrieren, die durch die Bean-Validierungsspezifikation definiert ist. Zum Beispiel Image läßt ich habe eine Klasse, die mehr int WerteRegistrieren neuer Constraint-Validator für Standard-Bean-Validierungsannotation
public class IntContainer
{
private int value1;
private int value2;
public int getValue1()
{
return value1;
}
public void setValue1(final int value1)
{
this.value1 = value1;
}
public int getValue2()
{
return value2;
}
public void setValue2(final int value2)
{
this.value2 = value2;
}
}
ich eine benutzerdefinierte Einschränkung Validator registrieren möchte akkumuliert die @Positive Anmerkung für diese Art zu unterstützen (statt erstellt von einer benutzerdefinierten Anmerkung).
public class PositiveIntContainerValidator implements ConstraintValidator<Positive, IntContainer>
{
@Override
public boolean isValid(final IntContainer value, final ConstraintValidatorContext context)
{
//TODO: do some validation here based on IntContainer state
return false;
}
}
Damit später kann ich diese verwenden:
@Positive
private IntContainer valueContainer;
Great! Danke vielmals! –