Clean Code that Works.

Spring Validation.

Spring2010. 7. 22. 09:05

JSR 303을 사용한 Validation 체크(bean-validation-integrating-jsr-303-with-spring)
다른 URL http://blog.frankel.ch/bean-validation-and-jsr-303

기선님 블로그 글
1. 이론(http://whiteship.me/2423)
2. 실습(http://whiteship.me/2424)

에러가 발생 하면 BindingResult result의 result에 에러 정보를 가지고 있다.
여기에 해당 필드 명 과 에러 메세지를 가져 올 수 있는데,
HttpServletResponse에다가 에러로 세팅한 다음 이것들을 json으로 구성해서 리턴 해 주고,
jquery Ajax 요청에서 error로 받아서 이 error Json을 가지고 jQuery Validation 처럼 구성 할 수 있을 것 같다.

에러를 처리 할 때 에러 메시지들 담은 폼 페이지를 리턴해 주는 것이 아니라.
에러 정보를 담고 있는 Json을 리턴해서 기존 폼에다가 붙여서 보여주겠다는 생각!!

http://static.springsource.org/spring/docs/3.0.x/javadoc-api/org/springframework/validation/BindingResult.html
API를 확인해 보면 에러에 관련된 정보를 가져오는 메서드가 있는 것을 볼 수 있다.


컨트롤러에서 에러와 관련된 정보를 Json으로 담아서 넘겨 주면,
이를 클라이언트에서 처리 해야 한다.


결과가 xhr 형태이기 때문에, 이를 JSON으로 파싱 해서 값을 처리 하면 된다.
submitHandler는 jQuery valdation 에서 처리하는 것으로 submit 처리는 저기서 하면 된다.
validation에서 error가 아닐 경우 validation element(여기서는 em)에 css class가 error success 로 설정 되어 있을 것이다.
(그래야 클라이언트 validation 통과 한 후 전송 하니깐)
이것들 jqeury selector로 찾아서 removeClass해주고, 에러 메시지를 적어주면 땡~~~

음. dataType json으로 하면 파싱할 필요 없나? -,.-;;
success 했을 때만 지정한dataType으로 받을려나??

api를 보자.