Struts2学习笔记2 ――表单验证
针对上面的login.jsp页面使用Validator验证,验证username和password两个表单的内容不能为空。
首先在 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 >
<! 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中总共定义了如下几个验证规则:
- required validator
- requiredstring validator
- int validator
- date validator
- expression validator
- fieldexpression validator
- email validator
- url validator
- visitor validator
- conversion validator
- stringlength validator
- regex validator
<
result
name
="input"
>
/login.jsp
</
result
>
这样,当验证失败,则会在login.jsp中显示验证失败信息。