Вы должны определить пользовательскую аннотацию для проверки.
, поэтому определите пользовательскую аннотацию, как показано ниже.
@Target({ElementType.FIELD, ElementType.PARAMETER,ElementType.ANNOTATION_TYPE})
@Retention(RUNTIME)
@Constraint(validatedBy = ValidateListValidator.class)
@Documented
public @interface ValidateList {
}
и внедрите ValidateListValidator
вот так:
public class ValidateListValidator implements ConstraintValidator<ValidateList, List<Object>> {
private ValidateList validateList;
@Override
public void initialize(ValidateList validateList) {
this.validateList = validateList;
}
@Override
public boolean isValid( List<Object> list, ConstraintValidatorContext constraintValidatorContext) {
return list.stream().noneMatch(Objects::isNull);
}
}
и для проверки
@Test
public void test() {
boolean valid = validator.isValid(Arrays.asList("test","this",null),context);
assertThat(valid, is(false));
}