Je cherche à faire une petite validation personnalisée avec JSR-303 javax.validation
.
J'ai un domaine. Si une certaine valeur est saisie dans ce champ, je veux exiger que d'autres champs ne le soient pas. null
.
J'essaie de trouver une solution. Je ne sais pas exactement comment j'appellerais cela pour trouver une explication.
Toute aide serait appréciée. Je suis assez novice en la matière.
Pour l'instant, je pense à une contrainte personnalisée. Mais je ne sais pas comment tester la valeur du champ dépendant à partir de l'annotation. En fait, je ne sais pas comment accéder à l'objet panel à partir de l'annotation.
public class StatusValidator implements ConstraintValidator<NotNull, String> {
@Override
public void initialize(NotNull constraintAnnotation) {}
@Override
public boolean isValid(String value, ConstraintValidatorContext context) {
if ("Canceled".equals(panel.status.getValue())) {
if (value != null) {
return true;
}
} else {
return false;
}
}
}
C'est le panel.status.getValue();
Je ne suis pas sûr de savoir comment procéder.