Web

스프링에서 Validator 적용 방법

남자두부 2016. 8. 1. 16:06
반응형

1

 

뷰에서 원하는 위치에 아래 코드는 적용한다.

 

1
2
3
4
5
var f = document.frm;
 
if (!validateFrm(f)) {
    return;
}
cs

 

1) 폼의 정보를 변수 f에 담는다.

3) validateFrm 함수를 통과하여 결과를 제공한다.

4) 결과값이 조건과 일치하지 않으면 자바스크립트를 빠져나간다.

 

2

 

기존의 폼과 인풋을 변경한다.

 

1
2
3
4
5
6
<form:form modelAttribute="java.util.Map" name="frm">
    <form:input path="testPath" title="Tender Number" name="test" />
    <div>
        <form:errors path="testPath"/>
    </div>
</form:form>
cs

 

1) 기존의 form을 validator을 위해 form:form 으로 변경한다.

1-1) 폼에 있는 정보가 담길 애트리뷰트다. 현업에서는 VO를 사용하는 경우가 많지만 예시를 위해 맵을 사용하였다.

1-2) name은 원하는 이름을 사용한다. 다만 1번의 자바스크립트 함수와 연결이 된다는 것을 알아둔다.

2) 기존의 input을 validator을 위해 form:input 으로 변경한다.

2-1) path는 validator 에서 작성한 property와 동일하게 적어준다.

2-2) title은 원하는 이름을 사용한다.

2-3) name은 원하는 이름을 사용한다.

 

3

 

validator 를 설정한다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE form-validation PUBLIC 
    "-//Apache Software Foundation//DTD Commons Validator Rules Configuration 1.1//EN" 
    "http://jakarta.apache.org/commons/dtds/validator_1_1.dtd">
 
<form-validation>
     <formset>
        <form name="frm">
             <field property="testPath" depends="required,maxlength">
                <arg0 key="testPath" />
                <arg1 key="10" resource="false"/>
                <var>
                    <var-name>maxlength</var-name>
                    <var-value>10</var-value>
                </var>
            </field>
        </form>
    </formset>
</form-validation>
cs

 

8) 뷰단에서 작성한 폼 이름을 적는다.

9) 뷰단에서 인풋에 작성한 이름을 적는다.

9-1) depends는 validator-rules에 있는 길이 체크 함수이다.

10) 추후 validator를 통과할 때 실패 시 나오는 메시지에서 사용된다.

11) 추후 validator를 통과할 때 실패 시 나오는 메시지에서 사용된다.

13) 최대 입력길이를 체크하는 함수이다.

14) 최대 입력길이의 조건이다. 위에선 10개까지만 입력이 가능하도록 했다.

 

* 완벽한 정의가 아닌 기억에 의존한 자료. 사용시 주의할 것.

반응형