2011. 3. 21. 17:37
반응형

 validation 프레임웍은 jakarta commons 에서 제공하고 있으며,

 스프링과 연동하여 사용할 수 있도록 하는 spring-modules-validation.jar  라이브러리가 추가로 필요하다. 규모가 작은 라이브러리여서

스프링에 프레임웍에 포함되어 있지 않기 때문에, 추가로 다운받아야 한다.

 

1) validation 프레임웍을 사용하기 위한 라이브러리를 추가한다

2)  validation 프레임웍 설정파일을 정의한다.

     validation-rules.xml 은  서버측과 클라이언트 양측의 유효성 검증 로직을 모두 가지고 있다. 서버 측 로직은 엘리먼트들의 속성에서 지정한 클래스에서

      구현하고 있으며, 클라이언측은 엘리먼트 데이터로 가지고 자바스크립트 코드를 가지고 있다.

     validator.xml 에는 유효성 검증을 수행할 command 클래스와 해당 프로퍼티를 지정한다. 동시에 적용할 하나이상의 validation rule을 지정한다

 

3)  validationFactory 빈과 validator 빈을 생성하여,  validator 빈에 validatorFactory 빈을 인젝션해준다.

applicationContext.xml

  1.  <bean id="beanValidator" class="org.springmodules.validation.commons.DefaultBeanValidator">
         <property name="validatorFactory" ref="validatorFactory"/>
     </bean>
     
     <bean id="validatorFactory" class="org.springmodules.validation.commons.DefaultValidatorFactory">
         <property name="validationConfigLocations">
          <list>
           <value>/WEB-INF/config/validation/validator.xml</value>
           <value>/WEB-INF/config/validation/validator-rules.xml</value>
          </list>
         </property>
     </bean>

 

 

 4) validator를 사용할 컨트롤러에 생성한 빈을 인젝션 해준다.

     SimpleFormContorller 에서 Command 클래스에 바인딩 후, validator의 validate() 메소드가 호출되어,  유효성 검증이 이루어진다.

     (수퍼 클래스에서 호출해주기 때문에 우리가 별도록 validate() 메소드를 호출하지 않아도 된다)

  1.   <bean id="boardSimpleFormController" class="kr.co.bit.lecture.board.web.springmvc.BoardSimpleFormController">
         <property name="boardService" ref="boardService"/>
         <property name="attachfileService" ref="attachfileService"/>
         <property name="formView" value="/board/redit_form"/>
         <property name="successView" value="redirect:/board/list.do"/>  
         <property name="redirctView" value="redirect:/board/read.do"/>
         <property name="commandClass" value="kr.co.bit.lecture.board.model.Board"/>
         <property name="commandName" value="board"/>
         <property name="validator" ref="beanValidator"/>
     </bean>


출처 : http://hiddenviewer.springnote.com/pages/4431055.xhtml

반응형
Posted by seongsland