Я пишу приложение с фреймворком Spring, и у меня есть вопрос, как сделать проверку формы с помощью дополнительных полей.Проверка весны формы с дополнительными полями
Я новичок в этом, но, насколько я понимаю, заполнить форму с формой: форма тега я установить атрибут с
@RequestMapping(value = "/register", method = RequestMethod.GET)
public String register(Model model) {
model.addAttribute("tenant", new Tenant());
return "register";
}
Затем создайте класс валидатора и использовать его по запросу POST:
@RequestMapping(value = "/register", method = RequestMethod.POST)
public String registerPost(@ModelAttribute("tenant") Tenant tenant,
Model model,
BindingResult result) {
TenantValidator validator = new TenantValidator();
validator.validate(tenant, result);
if (result.hasErrors()) {
return "register";
}
tenantService.save(tenant);
return "redirect:accountOverview";
}
Это работает очень хорошо, и я очарован тем, насколько это удобно!
Единственная проблема в том, что мне делать с дополнительными полями? Например, у меня есть поле «повторить пароль». Если я создаю дополнительные поля без использования меток и с помощью и проверять их непосредственно я не смог бы использовать:
<form:errors path="repeatPassword>
тег как «repeatPassword» не является членом объекта формы.
Первым решением, которое приходит на ум, является создание специального объекта формы TenantDTO, который будет удерживать эти дополнительные поля, и при сохранении просто передайте данные в «Арендатор» (entity bean).
Это хороший подход? Каковы наилучшие практики в этой ситуации?
Спасибо!
Leonty
Это то, о чем я не думал. Моя забота заключается в том, что мой класс сущностей будет иметь функциональность формы (имея эти дополнительные поля). Это в EJB, поэтому другое приложение, которое будет использовать этот компонент, получит объект с полями, которые вообще не полезны (для этого конкретного приложения). Надеюсь, что я говорю, имеет смысл. Короче говоря, я хочу как можно лучше разойтись с проблемами. – Leonti