Я могу придумать несколько вещей, которые можно попробовать.
Вы можете создать Constraint
с целью самого типа с соответствующим валидатором:
@ValidateDateRange(start="startDate", end="endDate")
public class MyBean {
Вы можете инкапсулировать диапазон дат в типе и проверить, что:
public class DateRange {
private long start;
private long end;
public void setStart(Date start) {
this.start = start.getTime();
}
// etc.
Вы можете добавить простое свойство, которое выполняет проверку:
public class MyBean {
private Date startDate;
private Date endDate;
@AssertTrue public boolean isValidRange() {
// TODO: null checks
return endDate.compareTo(startDate) >= 0;
}