Convalida JSR 303, se un campo è uguale a “qualcosa”, allora questi altri campi non dovrebbero essere nulli

Sto cercando di fare una piccola convalida personalizzata con JSR-303 javax.validation .

Ho un campo E se un determinato valore è inserito in questo campo, voglio richiedere che alcuni altri campi non siano null .

Sto cercando di capirlo. Non sono sicuro di quello che chiamerei per trovare una spiegazione.

Qualsiasi aiuto sarebbe apprezzato. Sono abbastanza nuovo a questo.

Al momento sto pensando a un vincolo personalizzato. Ma non sono sicuro di come testare il valore del campo dipendente dall’interno dell’annotazione. Fondamentalmente non sono sicuro di come accedere all’object del pannello dall’annotazione.

     public class StatusValidator implements ConstraintValidator { @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; } } } 

    È il panel.status.getValue(); mi dà problemi … non sono sicuro di come farlo.