验证框架是通过Validation拦截器来调用的,在Struts-default.xml文件中已经定义了.由于拦截器是默认引用的拦截器,只要包从struts-default包扩展,验证框架功能就已经开启了.
1. 验证文件:
名字:ClassName-validation.xml或ClassName-alias-validation.xml
ClassName表示实际的Action类名,alias是Action在struts.xml文件中配置的名字
位置:验证文件和Action类放在同一包下
执行顺序:
如果Action类的父类或父接口也有验证文件则执行顺序为:
1. 父类或父接口ClassName-validation.xml
2.父类或父接口ClassName-alias-validation.xml
3.本类的ClassName-validation.xml
4.本类的ClassName-alias-validation.xml
验证规则不覆盖,而是叠加关系!
2.验证文件的编写:
validators----------- +field(字段验证器) ------------- +field-validator --------------* param
| |------------------------message
|-------------------+validator(普通验证器或非字段验证器)--------------* param
|------------------------message
普通验证器和字段验证器的区别:
(1) 普通验证器不针对特点字段进行验证,字段验证器针对特定字段进行验证
(2)普通验证器将错误消息放到Action级别的错误消息中(通过actionerror标签输出);字段验证器失败后,将错误消息放到Action的字段错误消息中(通过fielderror标签输出)
Struts2的内置校验器:
1. 必填校验器(required validator)
2.必填字符串教研器(requiredstring validator)
3.字符串长度校验器(stringlength validator)
4.整数校验器(int validator)
5.双精度浮点校验器(double validator)
6.日期校验器(date validator)
7,表达式校验器(expression validator)
8.字段表达式校验器(fieldexpression validator)
9.正则表达式验证器(regex validator)
10. 邮件地址校验器(email validatator)
11.网址校验器(url validator)
12.visitor校验器
13.转换校验器(conversion validator)