1. 基于 XWork Validation Framework 的声明式验证:
Struts2 提供了一些基于 XWork Validation Framework 的内建验证程序. 使用这些验证程序不需要编程,
只要在一个 XML 文件里对验证程序应该如何工作作出声明就可以了. 需要声明的内容包括:
①. 哪些字段需要进行验证③. 在验证失败时应该把什么样的出错消息发送到浏览器端
声明式验证分为:
字段验证:验证某个字段属性是否有效
非字段验证:不针对某个字段,而是针对多个字段的输入值之间的逻辑关系进行验证,例如:用户名和密码,再次输入的密码等
2. 编程验证:通过编写代码来验证用户输入
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 validator: 复合属性验证器
关于Struts2 内置的验证器的解释
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 表达式