Struts2学习札记2 ――表单验证

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 validator
requiredstring validator
int validator
date validator
expression validator
fieldexpression validator
email validator
url validator
visitor validator
conversion validator
stringlength validator
regex validator
验证文件就配置好了,在这里还有一个问题,就是当验证失败的时候,我们要返回哪一个页面?如果验证失败,验证框架会跳转到action中的INPUT属性所指向的页面,所以我们需要在上面的struts.xml文件中为action添加

<result name="input">/login.jsp</result>