Struts2 内建的验证规则
* conversion validator:转换验证器
* date validator:日期验证器
* double validator:浮点验证器
* email validator:email 验证器
* expression validator:表达式验证器
* fieldexpression validator:字段表达式验证器
* int validator:整型验证器
* regex validator:正则表达式验证器
* required validator:非空验证器
* requiredstring validator:非空字符串验证器
* stringlength validator:字符串长度验证器
* url validator:url 格式验证器
* visitor validStruts2 内建的验证程序
required: 确保某给定字段的值不是空值 null “”
requiredstring: 确保某给定字段的值既不是空值 null, 也不是空白.
trim 参数. 默认为 true, 表示 struts 在验证该字段值之前先剔除前后空格.
stringlength: 验证一个非空的字段值是不是有足够的长度.
minLength: 相关字段的最小长度. 若没有给出这个参数, 该字段将没有最小长度限制
maxLength:相关字段的最大长度. 若没有给出这个参数, 该字段将没有最大长度限制
trim: 在验证之前是否去除前后空格
date: 确保某给定日期字段的值落在一个给定的范围内
max:相关字段的最大值. 若没给出这个参数, 该字段将没有最大值限制
min:相关字段的最小值. 若没给出这个参数, 该字段将没有最小值限制
email: 检查给定 String 值是否是一个合法的 email
url: 检查给定 String 值是否是一个合法的 url
regex: 检查某给定字段的值是否与一个给定的正则表达式模式相匹配.
expresssion*: 用来匹配的正则表达式
caseSensitive: 是否区分字母的大小写. 默认为 true
trim: 是否去除前后空格. 默认为 true
int: 检查给定整数字段值是否在某一个范围内
min: 相关字段的最小值. 若没给出这个参数, 该字段将没有最小值限制
max: 相关字段的最大值. 若没给出这个参数, 该字段将没有最大值限制
conversion: 检查对给定 Action 属性进行的类型转换是否会导致一个转换错误. 该验证程序还可以在默认的类型转换消息的基础上添加一条自定义的消息
expression 和 fieldexpression: 用来验证给定字段是否满足一个 OGNL 表达式.
前者是一个非字段验证程序, 后者是一个字段验证程序.
前者在验证失败时将生成一个 action 错误, 而后者在验证失败时会生成一个字段错误
expression*: 用来进行验证的 OGNL 表达式ator:复合属性验证器
action名-方法名-validation.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE validators PUBLIC
"-//Apache Struts//XWork Validator 1.0.3//EN"
"http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd">
<validators>
<field name="username">
<field-validator type="requiredstring">
<message>请输入用户名</message>
</field-validator>
</field>
<field name="age">
<field-validator type="int">
<!-- 使用注入的方式,设置最大和最小值 -->
<param name="min">18</param>
<param name="max">100</param>
<message>请输入18-100之间的整数</message>
</field-validator>
</field>
<field name="email">
<field-validator type="email">
<message>请输入正确的邮箱格式</message>
</field-validator>
</field>
<field name="password">
<field-validator type="requiredstring">
<!-- 注入取消使用trim -->
<param name="trim">false</param>
<message>请输入密码</message>
</field-validator>
<field-validator type="stringlength">
<param name="minLength">3</param>
<param name="maxLength">8</param>
<message>密码长度是3~8位的</message>
</field-validator>
</field>
<!-- 确认密码和密码必须保持一致,是2个字段的事,所以要使用基于验证器的声明方式 -->
<validator type="expression">
<param name="expression">
<![CDATA[
password == repassword
]]>
</param>
<message>两次密码必须一致</message>
</validator>
<field name="score">
<field-validator type="regex">
<param name="regex">
\d+
</param>
<message>请输出正确的成绩</message>
</field-validator>
</field>
<field name="url">
<field-validator type="url">
<message>请输入正确的url地址</message>
</field-validator>
</field>
<field name="gender">
<!-- required是一个只验证是否null的内置验证器,不会去除空格 -->
<field-validator type="required">
<message>请选择性别</message>
</field-validator>
</field>
</validators>
记得配返回类型
<action name="login" class="gn.Bdsj1" method="login">
<result name="success">/success.jsp</result>
<result name="error">/error.jsp</result>
<result name="input">/index.jsp</result>
</action>