当前位置: 软件>java软件
轻量级Java验证框架 Validation.FO
本文导语: Validation.FO 使用指南 框架说明 这是一个验证框架,并且是一个 独立的验证框架 ,不依赖与其他已有的框架; 可以自由的嵌入到其他框架,比如Spring、Struts等流行框架,但实质来说他是独立的,所以无所谓嵌入到哪...
Validation.FO 使用指南
框架说明
这是一个验证框架,并且是一个 独立的验证框架 ,不依赖与其他已有的框架;
可以自由的嵌入到其他框架,比如Spring、Struts等流行框架,但实质来说他是独立的,所以无所谓嵌入到哪里,如果需要在GUI桌面应用中,也是完美的;
配置简单,可自由扩展验证器,实际只要实现IValidator接口,以及在rules.fo.xml中添加相关的配置即可;
支持Spring接口
使用过程中,你会感觉好像只用了IValidateService.validate()一个方法,这会让人感觉良好
优点
不与任何对象做绑定,最大限度解耦
只要规则配置写的合理,规则可以复用到多个对象
扩展验证器很简单
以Map存储验证结果,非常简单的导出JSON,只要你愿意
相关文档
配置验证规则rules.fo.xml
实例化IValidateService对象
调用IValidateService.validate方法
基本的使用方法
创建配置读取对象IValidateConfig
创建验证服务对象IValidateService
执行验证方法IValidateService.validate(object, groupId)
Validation.FO 使用指南
框架说明
优点
如何下载
快速开始
使用Validation.FO的步骤如下:
基本的使用方法
1. 创建POJO对象 User.java
2. 配置验证规则 rules.fo.xml
3. 实例化测试 BasicTest.java
4. 结果输出
如何在Spring中使用
1. 配置Spring配置 context.xml
2. 如何通过Spring进行验证,SpringTest.java
3. 执行结果
Validator验证器与规则
默认验证规则
required - 必填字段
match - 正则匹配
between - 判断字符串或数组非空长度是否介于两者之间,min
- API : https://github.com/41zone/Validation.FO/wiki
- 开源社区 : GITHUB,GITOSC
- DEMO案例源代码,Validation.FO Demo
- Maven依赖 或 直接下载Validation.FO包
cc.fozone.validation fo-validation 0.9.1.RELEASE
- (必须) 下载配置文件 Validation.FO-CONFIGURATION
源代码地址:Basic Usage
1. 创建POJO对象User.javapackage validationfo.basic;
import java.sql.Timestamp;
/**
* 用户对象
* @author Jimmy Song
*
*/
public class User {
// 用户名
private String username;
// 密码
private String password;
// 再次输入密码
private String passwordOne;
// 邮箱
private String email;
// 开始与结束时间
private Timestamp starttime;
private Timestamp endtime;
/**
* Setter & Getter
*/
...
}
2. 配置验证规则rules.fo.xml
-
导入其他规则文件 -
验证分组,name应该为全局唯一的 -
验证的字段,name是被验证对象的属性字段名 -
验证规则,name是验证器名称,message是错误后返回的消息 -
是验证规则时可能需要传入的参数,name是参数名,value是参数值
...3. 实例化测试BasicTest.java
主要步骤:
package validationfo.basic;
...
/**
* 最基本的测试
* @author Jimmy Song
*
*/
public class BasicTest {
public static void main(String[] args) {
/**
* Validation.FO的配置资源
*/
// 验证器配置,系统默认配置
String validatorsXML = "validationfo/basic/validators.fo.xml";
// 规则配置
String rulesXML = "validationfo/basic/rules.fo.xml";
/**
* 实例化配置对象
*/
IValidateConfig config =new BasicValidateConfig(validatorsXML, rulesXML);
/**
* 实例化验证服务层
*/
IValidateService validateService = new BasicValidateService(config);
// 实例化用户
User user = createUser();
/**
* 执行验证
*/
Map map = validateService.validate(user, "user.validate");
// 输出结果
if(map == null || map.size() == 0) {
System.out.println("验证成功");
} else {
System.out.println("验证失败,结果如下");
System.out.println(map);
}
}
}
4. 结果输出
12:31:41,084 INFO BasicValidateConfig:44 - read validation main file , validationfo/basic/rules.fo.xml
验证失败,结果如下
{email=邮件格式不正确, password=两次密码输入不正确, starttime=开始时间不能大于结束时间, endtime=结束时间不能小于开始时间}
更多内容请点击:http://my.oschina.net/41zone/blog/324657
目录列表: