폼 유효성 검사를 위해 Hibernate Validator를 사용하여 Spring 어플리케이션을 개발 중이다. 이폼에 대한 Hibernate Validator : 매우 유사한 DTO의 유효성을 검사하는 방법
public class RegisterUserDTO {
@Size(min=3)
private String inputName;
@Email
private String inputEmail;
@Size(min=3)
private String inputPassword;
[...]
}
필요합니다 :이처럼 보이는 DTO 있습니다. 다른 곳에서, 나는 같은 입력 매개 변수를 사용해야하지만 검증은 약간 다릅니다 :
public class RegisterUserDTO {
@Size(min=3)
private String inputName;
@Email
private String inputEmail;
//@Size(min=3)
private String inputPassword;
[...]
}
이 필요하지 않습니다.
두 시나리오에 동일한 DTO를 사용하려면 어떻게해야합니까? 이것이 가능하지 않은 경우이 상황을 해결하는 가장 깨끗한 방법은 무엇입니까? 솔루션의
@RequestMapping(value = "https://stackoverflow.com/users/add", method = RequestMethod.POST)
public String saveUser(ModelMap model, @Valid RegisterUserDTO registerUserDTO, BindingResult result) {
String template = "/path/to/addUser";
if (result.hasErrors()) {
User user = new User(registerUserDTO.getInputName(), registerUserDTO.getInputPassword(), registerUserDTO.getInputEmail());
model.addAttribute("user", user);
model.addAttribute("errors", result.getFieldErrors());
} else {
User user = userService.insertUser(registerUserDTO.getInputEmail(), registerUserDTO.getInputName(), registerUserDTO.getInputPassword());
template = "redirect:/path/to/edit/users/" + user.getId();
}
return template;
}
을 문제를 해결할 수있는 것은 당신이있는 것처럼 소리 유효성 검사 그룹을 찾고 있습니다. – chrylis
@chrylis 그럴 수도 있습니다. 링크가 있습니까? – Tk421
@ Tk421 Spring MVC 유효성 검사 그룹을 확인하려면 http://blog.codeleak.pl/2014/08/validation-groups-in-spring-mvc.html – Pranav