struts2--验证器
1、输入验证:
--struts2提供了一些基于Xwork Validation Framework的内建验证程序,使用这些验证程序不需要变编程,只要在一个XML文件里进行声明,声明的内容如下:
> 哪些字段需要验证;
> 使用什么验证规则;
> 确定验证失败时的相应页面;
--也可以通过编写代码来验证输入;
--步骤:
> 1)在Action所在包中创建配置文件:ActionClassName-validation.xml
> 2)填写验证信息:其中message中的信息也可以从国际化配置资源获取
> 若一个Action类能够处理多个action请求,每个action请求使用不同的规则,则需要为每一个action请求定义其对应的验证文件:
ActionClassName-actionName-validation.xml
--原理:
> struts2默认的拦截器中提供了validation拦截器;
> 每个具体的验证规则都会对应一个验证器;
2、struts2内建的验证程序:
--required: 确保给的字段不是空值null;
--requiredstring: 确保给的字段不是空值null,也不是空白;
--stringlength: 验证一个非空的字段是否有足够的长度;
--date: 确保某给定日期字段的值落在一个给定的范围内;
--email: 验证是否为一个合法的email;
--url: 延时是否为一个合法的url;
--conversion:检查对给定Action属性进行的类型转换是否会导致一个转换错误。该验证程序还可以在默认的类型转换消息的基础上添加一条自定义的消息;
3、短路验证:若对一个字段设置多个验证器,默认会执行所有验证器,开启短路验证short-circuit = “true”,若前面的验证未通过,则后面的验证器不会继续验证;
4、对于非字段验证:不是针对某一字段验证
5、自定义验证器:
--1)自定义验证器必须实现Validation接口;
> ValidatorSupport和FieldValidatorSupport实现了Validation接口;
> 若需要普通的验证程序,可以继承ValidatorSupport类;
> 若需要字段验证程序,可以继承FieldValidatorSupport类;
--2)注册验证程序:在validators.xml文件中注册
> 验证框架首先在根目录下查找validators.xml文件,若不存在validators.xml文件,验证框架将调用默认验证设置,即default.xml;
6、编程式验证:
--Action类实现Validateable接口(可以继承ActionSupport类),重写public void validate()方法进行验证;
7、验证框架原理: