在使用struts时,如果使用common validator进行页面数据的有效性验证时,可以减少很多代码量,通过配置文件就可以方便的进行数据的校验工作.
在做所有的配置前,先检查jsp页面是否有以下内容(没有请添加上):
<%-- Error Messages --%>
<logic:messagesPresent>
<div class="error">
<html:messages id="error">
<c:out value="${error}"/><br/>
</html:messages>
</div>
</logic:messagesPresent>
<%-- Success Messages --%>
<logic:messagesPresent message="true">
<div class="message">
<html:messages id="message" message="true">
<c:out value="${message}"/><br/>
</html:messages>
</div>
</logic:messagesPresent>
其中的css可以自己根据需要定义,上面使用JSTL标签.
使用validator需要进行如下配置:
1) 首先在struts-config.xml中添加:
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property property="pathnames" value="/WEB-INF/validator-rules.xml, /WEB-INF/validation.xml"/>
</plug-in>
2) 配置validation.xml文件,内容如下:
<form-validation>
<formset>
<form name="loginForm">
<field property="userid" depends="required">
<arg0 key="login.user.id" />
</field>
<field property="password" depends="required">
<arg0 key="login.password" />
</field>
<field property="repasswd" depends="required">
<arg0 key="login.password.retry" />
</field>
<field property="username" depends="required">
<arg0 key="login.username" />
</field>
<field property="sex" depends="required">
<arg0 key="login.sex" />
</field>
<field property="college" depends="required">
<arg0 key="login.college" />
</field>
<field property="department" depends="required">
<arg0 key="login.department" />
</field>
<field property="idNumber" depends="required">
<arg0 key="login.id.number" />
</field>
<field property="birthday" depends="required, date">
<arg0 key="login.birthday" />
</field>
<field property="telephone" depends="required">
<arg0 key="login.telephone" />
</field>
<field property="email" depends="required, email">
<arg0 key="login.email" />
</field>
</form>
</formset>
</form-validation>