[SPRING] 바인딩 전 JSR-303 유형 검사
SPRING바인딩 전 JSR-303 유형 검사
모델....
@Digits(integer=5, fraction=0, message="The value must be numeric and less than five digits")
private int value;
콩 파일 ....
<mvc:annotation-driven />
제어 장치....
@RequestMapping(value = "/admin/save.htm", method = { RequestMethod.POST })
public ModelAndView saveSection(@Valid @ModelAttribute Section section, BindingResult result) {
if(result.hasErrors()) {
return new ModelAndView("admin/editSection", "section", section);
}
"value"를 단지 숫자로 제한하는 방법은 무엇입니까? 숫자가 아닌 다른 값을 입력하면이 오류가 발생합니다.
몇 줄의 게시물에서 initBinding에 대해 언급했지만 필자는 그것을 사용하는 방법이나 그것이 나를 도와 줄 수 있는지 잘 모르겠습니다. 이것은 전에 해결 되어야만합니다. 바인드되기 전에 숫자인지 확인하는 방법이 있습니까?
또는 누군가가이 오류를 무시하기 위해 올바른 messages.properties 항목을 게시 할 수 있다면 나에게도 도움이 될 수 있습니다.
@ Pattern을 시도했지만 int에서는 작동하지 않습니다.
해결법
-
==============================
1.앞서 언급했듯이 messages.properties에 사용자에게 친숙한 메시지가 필요합니다. 다음 메시지 코드 중 하나를 사용할 수 있습니다 (선택성 수준이 다름).
앞서 언급했듯이 messages.properties에 사용자에게 친숙한 메시지가 필요합니다. 다음 메시지 코드 중 하나를 사용할 수 있습니다 (선택성 수준이 다름).
또한 메시지 코드를 모르는 경우 BindingResult를 인쇄하면됩니다. toString ()은 바인딩 오류에 대한 전체 설명을 반환합니다.
from https://stackoverflow.com/questions/4082924/jsr-303-type-checking-before-binding by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] 다른 환경에서 스프링 빈을 정의 할 때 일반적인 전략 (0) | 2019.01.01 |
---|---|
[SPRING] junit 테스트를 개선하려면 어떻게해야합니까? (0) | 2019.01.01 |
[SPRING] "/"가 포함 된 @pathVariable을 갖는 Spring @RequestMapping을 일치시키는 방법은 무엇입니까? (0) | 2019.01.01 |
[SPRING] 동일한 REST API에 대한 기본 인증과 양식 로그인 결합 (0) | 2019.01.01 |
[SPRING] 스프링 부트 OAuth2 싱글 사인 오프 (로그 아웃) (0) | 2019.01.01 |