依次排查
文件名
首先,validation的命名需要符合规范,Action类名-validation.xml或者Action类名-Action逻辑名-validation.xml,比如LoginAction对应的验证的xml文件名应该为LoginAction-validation.xml,或者里面有个login()和register()的方法分别对应登录和注册,struts.xml里面对应action的name属性分别为userLogin和userRegister,可以LoginAction-userLogin-validation.xml和LoginAction-userRegister-validation.xml
文件路径
路径,需要放置在action所在的包路径下,如下图所示
xml头和属性名
需要包含以下
<!DOCTYPE validators PUBLIC
"-//Apache Struts//XWork Validator 1.0.2//EN"
"http://struts.apache.org/dtds/xwork-validator-1.0.2.dtd">
属性名别写错了,注意大小写,不然不会报错,只会不生效,比如
<field-validator type="stringlength">
<param name="minLength">6</param>
<message>密码长度不能小于6!</message>
</field-validator>
里面的minLength如果写成minlength是不会生效的
input视图
如果校验失败,系统会自动将失败的原因返回到input视图中,所有我们要配置好input视图
struts.xml文件里面
<action name="register" class="com.action.RegisterAction">
<result name="success">register_success.jsp</result>
<result name="input">register.jsp</result>
</action>
下面是直接将错误信息返还到注册视图,在注册视图中的 <s:fielderror/>标签用于显示错误信息
<s:fielderror cssStyle="color:red" />