针对上面的login.jsp页面使用Validator验证,验证username和password两个表单的内容不能为空。
首先在 LoginAction 所在的包 org.rainlife.struts2.action 中建立一个名为 LoginAction-validation.xml 的 Validator 验证文件:
xml 代码
- <?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中总共定义了如下几个验证规则:
- required validator
- requiredstring validator
- int validator
- date validator
- expression validator
- fieldexpression validator
- email validator
- url validator
- visitor validator
- conversion validator
- stringlength validator
- regex validator
xml 代码
- <result name="input">/login.jsp</result>
这样,当验证失败,则会在login.jsp中显示验证失败信息。