当使用struts2的validation.xml进行验证时,需要注意如下几个方面:
I.首先应该注意validation.xml的名字,一定要以Action的类名加“-validation.xml”作为文件名。入LoginAction-validation.xml。
II.LoginAction-validation.xml文件必须与Action类放在相同的目录下。
III.validation.xml文件中的<field-validatortype="">标签的type属性,必须与VO中定义的属性的数据类型相同。
IV.在struts.xml文件中的<action>标签中,必须包含<resultname="input">和<result name="success">,否则会报找不到页(404)。
V.一段示例validation.xml代码:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC
"-//OpenSymphony Group//XWork Validator1.0.2//EN"
"http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
<validators>
<fieldname="user.strUsername">
<!-- 验证字符串不能为空-->
<field-validatortype="requiredstring">
<!-- 去空格-->
<paramname="trim">true</param>
<!-- 错误提示信息-->
<message>用户名不能为空</message>
</field-validator>
<!-- 验证字符串长度-->
<field-validatortype="stringlength">
<paramname="minLength">2</param>
<paramname="maxLength">20</param>
<message>用户名长度应在2到18个字符间</message>
</field-validator>
</field>
<fieldname="user.strPassword">
<field-validatortype="requiredstring">
<paramname="trim">true</param>
<message>密码不能为空</message>
</field-validator>
<field-validatortype="stringlength">
<paramname="minLength">6</param>
<paramname="maxLength">18</param>
<message>密码长度应在6到18个字符之间</message>
</field-validator>
</field>
<!--<fieldname="user.age">
<field-validatortype="int">
<paramname="min">1</param>
<paramname="max">150</param>
<message>年龄应在1到150之间</message>
</field-validator>
</field>
验证字符串为日期类型
<fieldname="user.birthday">
<field-validatortype="date">
<paramname="min">1900-01-01</param>
<paramname="max">2008-10-16</param>
<message>出生日期应在1900-01-01到2008-10-16</message>
</field-validator>
</field>
--></validators>