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 >在这里,只是简单地验证username和password不能为空,以及密码长度只能在6至10位之间,type属性使用了Struts2中的requiredstring验证规则,struts2中总共定义了如下几个验证规则:
required validatorrequiredstring validatorint validatordate validatorexpression validatorfieldexpression validatoremail validatorurl validatorvisitor validatorconversion validatorstringlength validatorregex validator 验证文件就配置好了,在这里还有一个问题,就是当验证失败的时候,我们要返回哪一个页面?如果验证失败,验证框架会跳转到 action 中的 INPUT 属性所指向的页面,所以我们需要在上面的 struts.xml 文件中为 action 添加 < result name ="input" > /login.jsp </ result >这样,当验证失败,则会在login.jsp中显示验证失败信息。