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">补充:
查找系统提供的校验规则。xwork-core-xxx.jar包的
com.opensymphony.xwork2.validator.validators包中有一个default.xml文件。里面就是系统提供的校验规则。校验规则定义如下: