Я пытаюсь создать простой пользовательский валидатор для моего проекта, и я не могу найти способ получить шов для проверки условных условий.Как я могу проверить поле по мере необходимости в зависимости от значения другого поля в SEAM?
Вот что я получил:
хелпер/бэк боб (который не является юридическим лицом)
@RequiredIfSelected
public class AdSiteHelper {
private Date start;
private Date end;
private boolean selected;
/* getters and setters implied */
}
Что мне нужно для «запуска» и «конец» будет необходимо, если и только если выбрано значение true.
Я попытался создать пользовательский валидатор на целевой ТИП, но шов, похоже, не хочет его подбирать и проверять. (Может быть, потому что это не юридическое лицо?)
вот общая идея моего аннотаций для начала:
@ValidatorClass(RequiredIfSelectedValidator.class)
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface RequiredIfSelected {
String message();
}
public class RequiredIfSelectedValidator implements Validator<RequiredIfSelected>, Serializable {
public boolean isValid(Object value) {
AdSiteHelper ash = (AdSiteHelper) value;
return !ash.isSelected() || (ash.getStart() && ash.getEnd());
}
public void initialize(RequiredIfSelected parameters) { }
}