针对上面的login.jsp页面使用Validator验证,验证username和password两个表单的内容不能为空。
首先在LoginAction所在的包org.rainlife.struts2.action中建立一个名为LoginAction-validation.xml的Validator验证文件:
在这里,只是简单地验证username和password不能为空,以及密码长度只能在6至10位之间,type属性使用了Struts2中的requiredstring验证规则,struts2中总共定义了如下几个验证规则:
1. required validator
2. requiredstring validator
3. int validator
4. date validator
5. expression validator
6. fieldexpression validator
7. email validator
8. url validator
9. visitor validator
10. conversion validator
11. stringlength validator
12. regex validator
验证文件就配置好了,在这里还有一个问题,就是当验证失败的时候,我们要返回哪一个页面?如果验证失败,验证框架会跳转到action中的INPUT属性所指向的页面,所以我们需要在上面的struts.xml文件中为action添加
这样,当验证失败,则会在login.jsp中显示验证失败信息。
首先在LoginAction所在的包org.rainlife.struts2.action中建立一个名为LoginAction-validation.xml的Validator验证文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC
"-//OpenSymphony Group//XWork Validator 1.0.2//EN"
"http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
<validators>
<field name="username">
<field-validator type="requiredstring">
<message>请输入用户名</message>
</field-validator>
</field>
<field name="password">
<field-validator type="requiredstring">
<message>请输入密码</message>
</field-validator>
<field-validator type="stringlength">
<param name="minLength">6</param>
<param name="maxLength">10</param>
<message>密码长度只能在 ${minLength} 和 ${maxLength} 之间.</message>
</field-validator>
</field>
</validators>
在这里,只是简单地验证username和password不能为空,以及密码长度只能在6至10位之间,type属性使用了Struts2中的requiredstring验证规则,struts2中总共定义了如下几个验证规则:
1. required validator
2. requiredstring validator
3. int validator
4. date validator
5. expression validator
6. fieldexpression validator
7. email validator
8. url validator
9. visitor validator
10. conversion validator
11. stringlength validator
12. regex validator
验证文件就配置好了,在这里还有一个问题,就是当验证失败的时候,我们要返回哪一个页面?如果验证失败,验证框架会跳转到action中的INPUT属性所指向的页面,所以我们需要在上面的struts.xml文件中为action添加
<result name="input">/login.jsp</result>
这样,当验证失败,则会在login.jsp中显示验证失败信息。