Web
스프링에서 Validator 적용 방법
남자두부 2016. 8. 1. 16:061
뷰에서 원하는 위치에 아래 코드는 적용한다.
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개까지만 입력이 가능하도록 했다.
* 완벽한 정의가 아닌 기억에 의존한 자료. 사용시 주의할 것.