1、基于XML配置方式时配置文件取名错误
当校验文件的取名为ActionClassName-validation.xml时,会对 action中的所有处理方法实施输入验证。
如果你只需要对action中的某个action方法实施校验,那么,校验文件的取名应为:ActionClassName-ActionName-validation.xml,其中ActionName为struts.xml中action的名称。
2、-validation.xml文件中头文件过时
<!DOCTYPE validators PUBLIC
"-//OpenSymphony Group//XWork Validator 1.0.3//EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.3.dtd">
该头文件已经过期,将其改为
<!DOCTYPE validators PUBLIC
"-//Apache Struts//XWork Validator 1.0.3//EN""http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd">
3、校验始终处于错误状态,即使输入正确也会报错
可能是未成功获取对象值,我的错误是age前未加对应的user对象限制导致找不到age这个属性值,修改如下:
<field name="user.age">
<field-validator type="int">
<param name="min">1</param>
<param name="max">10</param>
<message>年龄必须在${min}-${max}岁之间</message>
</field-validator>
</field>
<field-validator type="int">
<param name="min">1</param>
<param name="max">10</param>
<message>年龄必须在${min}-${max}岁之间</message>
</field-validator>
</field>