Я проверяю некоторый код, который кто-то написал и заметил, что класс помечен @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;
}