用fluent-validator,进行Java服务端验证

GIHUB:https://github.com/neoremind/fluent-validator

中文说明:http://neoremind.com/2016/02/java%E7%9A%84%E4%B8%9A%E5%8A%A1%E9%80%BB%E8%BE%91%E9%AA%8C%E8%AF%81%E6%A1%86%E6%9E%B6fluent-validator/

 

一.maven依赖

  <!-- fluent 验证 -->
<dependency>
    <groupId>com.baidu.unbiz</groupId>
    <artifactId>fluent-validator</artifactId>
    <version>1.0.5</version>
</dependency>
<!-- fluent 验证 的 hibernate-valiedator依赖-->
<dependency>
    <groupId>com.baidu.unbiz</groupId>
    <artifactId>fluent-validator-jsr303</artifactId>
    <version>1.0.5</version>
</dependency>
<!--Validator用spring托管-->
<dependency>
    <groupId>com.baidu.unbiz</groupId>
    <artifactId>fluent-validator-spring</artifactId>
    <version>1.0.5</version>
</dependency>

 

二.使用方式

  A.1

 实体类:

验证类:

LenthValidator:

测试:

输出结果:

B.2

实体类相同这次结合Hibernat-valiedator

测试:

这里用到了hibernate-valiedator的注解

测试结果:

C.3

实体类:

测试类:

 测试结果:

这里用了failOver()方法

当出现校验失败时,也就是Validator的validate()方法返回了false,那么是继续还是直接退出呢?默认为使用failFast()方法,直接退出,如果你想继续完成所有校验,使用failOver()来skip掉。

三。总结

三种验证方式各有优劣,相互结合才能达到完美验证。

A1.能应付所有验证,但对于字段较多的实体,验证代码过于冗长。

B2.用注解的方式验证,代码简洁优雅,但对于同一个字段不同场景下需要不同验证的情况没办法解决。

C2.同B2,注解可以直接写验证方法,代码简洁,但是也是不够灵活

转载于:https://my.oschina.net/rockfate/blog/794295

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值