1. 使 Web Module(WAR) 中添加 Validation,也就是配置ValidatorPlugln插件。
2. 在JSP文件的相应地方添加标签,用来显示错误信息,比如:
<logic:messagesPresent>
<font color="red">
<html:messages id="error">
<%= error %>
</html:messages>
</font>
</logic:messagesPresent>
3. 修改Form类,使其成为 ValidatorForm 类的子类。比如:
public class UserActionForm extends ValidatorForm
4. 在 validator.xml 文件中添加表单集,比如:
<form-validation>
<formset>
<form name="UserActionForm">
<field property="userName" depends="minlength">
<arg0 key="userActionForm.userName"/>
<arg1 key="${var:minlength}" name="minlength" resource="false"/>
<var>
<var-name>minlength</var-name>
<var-value>6</var-value>
</var>
</field>
</form>
</formset>
</form-validation>
现在,你需要告诉服务器需要对指定的FormBean进行什么样的校验,这里需要修改validator.xml,在其中增加如下内容:
<!-name属性表示针对哪个FormBean进行验证,必须和struts-config.xml中的FormBean的名字保持一致 -->
<form name="bookForm">
<!-field元素表示针对FormBean的哪个字段进行验证,以及采取什么样的方式验证'
<!-- property属性和输入页面book.jsp中输入控件的名字保持一致 -->
<!-- depends属性确定验证内容,请参考1.1中的内容 -->
<!-- arg0表示提示出错时的主体信息,key的内容来自于你的properties文件的key -->
<!-var元素用于对前面的depends的内容进行定义,比如这里的mask就是规定可以输入的有效字符的范围-->
<field
property="id"
depends="required,mask">
<arg0 key="book.id"/>
<var>
<var-name>mask</var-name>
<var-value>^[0-9]*$</var-value>
</var>
</field>
<field
property="name"
depends="required">
<arg0 key="book.name"/>
</field>
<field
property="publisher"
depends="required">
<arg0 key="book.publisher"/>