Struts2验证(框架验证)

Struts2验证有手动验证和验证码验证,Struts推荐采用配置文件的方式进行数据校验

a.继承ActionSupport类

b.修改struts2.xml文件:删除method属性

c.在需要验证的Action类的相同包下,写一个"类名-validation.xml"文件

d.加入头信息以具有提示功能

<!DOCTYPE validators PUBLIC "-//Apache Struts//XWork Validator 1.0.3//EN"

        "http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd">

下面举几个常用的例子:

1.验证字符串是否为空

<field name="name">

<field-validator type="requiredstring">

<param name="trim">true</param>

<message>用户名必填</message>

</field>

2.验证字符串的长度(去掉两端空格)

<field name="name">

<field-validator type="stringlength">

<param name="trim">true</param>

<param name="maxLength">10</param>

<param name="minLength">4</param>

<message>去掉两端空格后,字符串长度应为4-10</message>

</field-validator>

</field>

3.数字范围验证

<field name="age">

<field-validator type="int">

<param name="min">6</param>

<param name="max">10</param>

<message>age必须在 ${min} 和${max}之间</message>

</field-validator>

</field>

4.表达式验证:不需要依托<field>节点

<validator type="expression">

<param name="expression"><![CDATA[name.equals(pwd)]]> </param>

<param name="expression"><![CDATA[age == 100]]> </param>

<message> </message>

</validator>

补充:表达式验证

<field name="pass">

         <field-validator  type="fieldexpression">

             <!--指定逻辑表达式-->

             <param name="expression"><![CDATA[age == 100]]></param>

             <message>年龄必须大于100</message>

         </field-validator>

    </field>

5.非空(null)验证

<field name="birth">

<field-validator type="required">

<message>必须输入一个生日</message>

</field-validator>

</field>

6.利用正则表达式验证<field-validator type="regex">



补充:

Struts2验证(框架验证)

Struts2验证(框架验证)

查找系统提供的校验规则。xwork-core-xxx.jar包的

com.opensymphony.xwork2.validator.validators包中有一个default.xml文件。里面就是系统提供的校验规则。校验规则定义如下:

Struts2验证(框架验证)