Какова цель аннотации @Valid на уровне класса? - PullRequest
0 голосов
/ 30 мая 2019

Я проверяю некоторый код, который кто-то написал и заметил, что класс помечен @Valid (javax.validation.Valid). Я понимаю, что @Valid отмечает, что объект (свойство, параметр метода или возвращаемый тип метода) должен быть проверен во время каскадирования проверки. Аннотация допускается для класса. Но какой цели он служит на этом уровне?

Я удалил аннотацию из класса, который я изучал, и не заметил никакого влияния. Я искал в Интернете другие примеры кода с @Valid, но во всех примерах он применяется к свойству, параметру метода или типу возвращаемого метода.

Вот код, который я проверяю:

@Valid // Is this needed?
@DateRange(message="invalidStartDate") // a @Constraint validator
public class Surplus {

   @NotNull(message="surplus.startDate.notNull")
   private Date startDate;

  @NotNull(message="surplus.endDate.notNull")
  private Date endDate;
}
...