У меня есть форма для создания пользователя и соответствующий объект команды.Это выглядит так:
public class CreateUserForm {
private String name;
private String email;
private String password1;
private String password2;
private Boolean enabled = true;
... getters and setters ...
}
У меня есть объект сущности пользователя, который должен быть создан и сохранен на основе ввода формы.Сущность имеет аннотированные правила проверки и выглядит следующим образом:
@Entity
public class SiteUser {
@Id
private String id;
@NotEmpty
private String name;
@NotEmpty
@Email
private String email;
@NotEmpty
@Pattern(regexp="^[a-zA-Z0-9_]{6,20}$")
private String password;
@NotEmpty
private Boolean enabled;
... getters and setters ...
}
Ввод формы должен по существу иметь те же правила проверки, за исключением того факта, что ввод формы должен проверять, если password1
и password2
поля идентичны
Моя первая мысль - добавить те же аннотации проверки к объекту формы и создать специальный валидатор, который проверяет, совпадают ли поля password1
и password2
.Тем не менее, я чувствую, что не делаю что-то правильно, помещая одни и те же правила проверки в два очень похожих объекта.
Поэтому я ищу любой совет о том, как консолидировать процесс проверки и хранения.моя сущность на основе формы ввода.