봄에 양식에 대한 유효성 검사를 설정하는 데 문제가 있습니다.봄 mvc 응용 프로그램에서 jsr-303 유효성 검사가 유효하지 않습니다
이 같은 모습을 확인하고자하는 빈 (bean) :
public class RegistrationForm extends ProjectXUser {
@NotEmpty
private String password2;
@NotBlank
@AssertTrue
private Boolean agreedToConditions;
...
ProjectXUser도 주석이 몇 가지 더 속성이 BaseUser에서 상속됩니다.
이@Controller
public class RegistrationController {
private static final String REGISTRATION_JSP = "registration";
@ModelAttribute("registrationForm")
public RegistrationForm getRegistrationForm() {
return new RegistrationForm();
}
@RequestMapping(value = { "/registratie/jaar", "registratie/proef" }, method = RequestMethod.GET)
public String year() {
return "registration";
}
@RequestMapping(value = { "/registratie/jaar", "registratie/proef" }, method = RequestMethod.POST)
public ModelAndView register(@Valid RegistrationForm registrationForm, BindingResult result) {
if (result.hasErrors()) {
return new ModelAndView(REGISTRATION_JSP);
} else {
return new ModelAndView("redirect:/registratie/success");
}
}
}
내 스프링 구성 파일이 포함되어 있습니다 :
내 컨트롤러는 다음과 같다 나는 봄 문서에 읽은
<bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean" />
<mvc:annotation-driven />
JSR-303의 유효성 검사기 클래스에있는 경우 그 경로 스프링이 자동으로 감지하여 사용합니다. 그래서 pom에 hibernate-validator를 추가했습니다.
그러나 컨트롤러를 디버깅 할 때 registrationForm에 입력 한 값이 들어 있음을 볼 수 있습니다.하지만 결과에는 항상 0 오류가 있습니다. 양식 필드에 잘못된 입력을 명시 적으로 입력하더라도.
예 를 사용하고 있습니다. 그것은 org.x.y를 스캐닝하고 나의 RegistrationForm은 org.x.y.web.forms에 있습니다. 그래서 그것을 받아 들여야합니다. –
'validator.validate (registrationForm)'을 사용하여 수동으로 유효성을 검사하면 작동합니까? – tbruyelle