Validator 프레임 워크 : ActionForm 에서 validate() 메소드를 통해 요청파라미터를 검증할 때, 검증 로직을 간결하게 해준다.
1. Validator 플러그 인 등록
- Validator 프레임 워크를 사용하기 위해서는 Validator 를 플러그인 형태로 스트럿츠에 등록.
- 검증 규칙을 외부의 설정 파일에 정의 : validator-rules.xml, validator.xml
2. validator 프레임워크의 내장 검증규칙
- validator-rules.xml 파일은 애플리케이션의 종류와 관계없이
Validator 프레임워크에서 기본으로 제공하는 규칙을 정의, 스트럿츠 배포판과 함께 배포됨.
- Validator 프레임워크에서 입력 파라미터 검증을 수행시 에러가 발생하면 키를 ActionErrors에 담아서 리턴함.
3. 어플리케이션의 검증규칙 정의
- 애플리케이션에 의존적인 검증규칙은 validator.xml 파일에 정의함.
- 모든 검증 규칙은 form-validation 요소의 하위요소.
- 언어별,국가별로 여러개의 formset 요소를 저으이 가능하며 이들은 java.util.Locale 과 대응된다.
- 언어와 국가를 정하지 않은 default formset 을 정의해 줘야 함.
- global요소 : 어플리케이션 전체에 적용되는 검증규칙을 정의함. 하위요소는 validator, constant요소를 하위로 가진다.
- validator : 실제 검증규칙을 정의
- constant : 자바에서 클래스 상수를 정의하여 사용하는 것과 비슷.
4. Validator를 사용하는 ActionForm
- Validator 프레임워크를 사용하기 위해 Validator 프레임워크에서 지원하는 ActionForm을 상속받아야 함.
- 추가적인 검증 규칙을 쓸 때 validate() 메소드를 재정의하고, super.validate()를 호출해 줘야 함.
5. Validator 를 사용하는 JSP
- validator 프레임워크는 ActionForm을 검증하는 서버측 검증 외에도 javascript를 통해 거의 동일한 검증을 클라이언트 측에서 수행 가능
6. 검증 규칙 추가하기
- Validator 프레임워크에서는 개발자가 직접 검증 규칙을 정의하여 추가할 수 있다.
- 검증을 수행할 메소드를 포함하는 자바 클래스를 생성한다. --> validator.xml 파일에 새로운 검증 규칙 등록
1) validator 속성
- name : 검증규칙 이름
- classname : 검증을 수행할 클래스명
- method : 검증을 수행할 메소드명
- methodParams : 검증을 수행하는 메소드를 호출할 때 전달할 파라미터
- msg : 에러메세지 키
- depends : 검증 수행 전 수행할 검증 규칙
- jsFunctionName :자바스크립트를 통해 클라이언트 측 검증을 수행하는 경우 검증대상 폼 객체를 넘길 자바스크립트함수명.
- jsFunction : 클라이언트 측 검증을 수행할 자바스크립트소스.
2) 자바스크립트를 통해 클라이언트 측 검증을 수행하는 경우 jsFunction 에 외부스크립트소스 경로를 명시하거나 직접 소스상에 코드를 작성힌한다. |