개발된 모든 공통기술에는 기본으로 제공되는 화면(JSP)의 입력 항목에 대해 validation체크 기능이 제공되어 있으나, 요소기술의 경우 그 쓰임새가 개발하고자 하는 어플리케이션의 개발 목적에 따라 재구현되어 사용되며, 개발될 어플리케이션의 화면이 각각 상이하므로 아래와 같은 사용 예를 통해 향후 구현될 수 있는 가이드를 제공한다.
validation 설정파일(.xml)을 사용하기 위해
context-validator.xml 파일의 validatorFactory에 bean등록
설정 예)
<bean id="validatorFactory" class="org.springmodules.validation.commons.DefaultValidatorFactory">
<property name="validationConfigLocations">
<list>
<value>classpath:/egovframework/validator/com-rules.xml</value><!-- 공통기술 -->
<value>classpath:/egovframework/validator/validator-rules.xml</value>
<value>classpath:/egovframework/validator/**/*.xml</value>
</list>
</property>
</bean>
사용 예)
1. 날짜 예시
<field property="fromDate" depends="required,maxlength,date">
<arg0 key="frm.fromDate" resource="true"/>
<arg1 key="8" resource="true"/>
<var>
<var-name>maxlength</var-name>
<var-value>8</var-value>
</var>
</field>
2. 숫자 예시
<field property="size" depends="required,integer">
<arg0 key="frm.size" resource="true"/>
</field>
화면에서 valication처리 예)
(예시)
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
<script type="text/javascript" src="<c:url value="/validator.do"/>"></script>
<validator:javascript formName="sysForm3" staticJavascript="false" xhtml="true" cdata="false"/>
<script type="text/javaScript" language="javascript">
function fnGetFreeMemory() {
if(!validateSysForm3(document.sysForm3)){
return;
}else{
document.sysForm3.submit();
}
}
</script>
<form:form name="sysForm3" action ="EgovPageLink.do" method="post">
<table width="430" border="0" cellpadding="0" cellspacing="1" class="table-register">
<tr>
<th width="150">유효메모리 체크</th>
<td width="280"><input type = "button" method="post" value="실행!" onclick="fnGetFreeMemory();"></td>
</tr>
<tr>
<th width="150">사용할 메모리(MB)</td>
<td width="280"><input type = "text" name="size" value="" size="40" style="ime-mode: disabled;"/></td>
</tr>
</table>
</form:form>