У меня есть следующие группы проверки:
public class ValidationGroups {
public interface Create extends Default {}
public interface Update extends Default {}
}
И моя аннотированная сущность:
public class Usuario implements UserDetails {
@NotNull(groups = { Update.class })
@NotBlank(groups = { Update.class })
@Length(max = 255, groups = { Update.class })
private String name;
@NotNull @NotEmpty @Email
private String email;
}
Но когда я пытаюсь проверить свою сущность, используя проверку по умолчанию, поле name
вообще не проверяется, даже когда его группа явно расширяет Default
(аннотирование с помощью @Valid
сделает то же самое):
@PostMapping("signup")
public String createUser(@Validated User user,
BindingResult result, Model model, RedirectAttributes redirectAttributes) {
Единственный способ проверить все поля - это явное добавлениегруппа по умолчанию в аннотации @Validated, подобная этой:
@PostMapping("signup")
public String createUser(@Validated({ Default.class, Update.class }) User user,
BindingResult result, Model model, RedirectAttributes redirectAttributes) {
Разве по умолчанию не должны проверяться все поля, аннотированные группами с расширением Default
, если группы не указаны?