首页 > 代码库 > Struts2 校验

Struts2 校验

Struts2校验格式:

  actionName-methodName-invalidation.xml  该配置文件必须和action类在同一个包下。

  

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE validators PUBLIC        "-//Apache Struts//XWork Validator 1.0.2//EN"        "http://struts.apache.org/dtds/xwork-validator-1.0.2.dtd"><validators>    <field name="bean.oldPwd">                <field-validator type="requiredstring">            <param name="trim">true</param>            <message><![CDATA[必须输入旧密码]]></message>        </field-validator>        <field-validator type="regex">            <param name="expression"><![CDATA[(([a-zA-Z0-9]{4,21})$)]]></param>            <message><![CDATA[密码格式不正确!]]></message>        </field-validator>            </field>        <field name="bean.pwd">                <field-validator type="requiredstring">            <param name="trim">true</param>            <message><![CDATA[必须输入新密码]]></message>        </field-validator>        <field-validator type="regex">            <param name="expression"><![CDATA[(([a-zA-Z0-9]{4,21})$)]]></param>            <message><![CDATA[密码格式不正确!,请输入4~20位的数字和字母的组合]]></message>        </field-validator>            </field>        <field name="bean.rePwd">                <field-validator type="requiredstring">            <param name="trim">true</param>            <message><![CDATA[必须再次输入新旧密码]]></message>        </field-validator>        <field-validator type="regex">            <param name="expression"><![CDATA[(([a-zA-Z0-9]{4,21})$)]]></param>            <message><![CDATA[密码格式不正确!,请输入4~20位的数字和字母的组合]]></message>        </field-validator>            </field>        </validators>

 

其中遇到几个问题,导致验证不执行。

1)methodName写了Action类中执行的方法名称了,应该写的是Struts配置文件中的name

2)出现异常:Referenced file contains errors (http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd)

原因是该dtd已经过期,以后只能使用

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0.2//EN" "http://struts.apache.org/dtds/xwork-validator-1.0.2.dtd">

Struts2 校验