您当前的位置: 首页 >  后端

Charge8

暂无认证

  • 2浏览

    0关注

    447博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

使用JSR-303 Validation后端验证

Charge8 发布时间:2018-09-28 22:09:36 ,浏览量:2

  一、JSR-303简介:官网

JSR-303 是 JAVA EE 6 中的一项子规范,叫做 Bean Validation,官方参考实现是Hibernate Validator。

此实现与 Hibernate ORM 没有任何关系。 JSR 303 用于对 Java Bean 中的字段的值进行验证。 Spring MVC 3.x 之中也大力支持 JSR-303,可以在控制器中对表单提交的数据方便地验证。

JSR-303可以使用注解的方式进行验证,它内部已经定义好了一系列的限制注解,我们只需要把这些注解标记在需要验证的实体类的属性上或是其对应的get方法上。

JSR-303 是一个数据验证的规范,但是 spring 并没有对其进行实现,Hibernate Validator 是实现了这一规范的,通过此这个实现来讲 SpringMVC对JSR-303 的支持。  

二、JSR 303 基本的校验规则

空检查@Null            验证对象是否为null @NotNull      验证对象是否不为null, 无法查检长度为0的字符串 @NotBlank    检查约束字符串是不是Null还有被Trim的长度是否大于0,只对字符串,且会去掉前后空格.@NotEmpty   检查约束元素是否为NULL或者是EMPTY.

Booelan检查 @AssertTrue     验证 Boolean 对象是否为 true @AssertFalse    验证 Boolean 对象是否为 false

长度检查 @Size(min=, max=)       验证对象(Array,Collection,Map,String)长度是否在给定的范围之内@Length(min=, max=)   验证约束字符串是否包含在最小和最大之间。

日期检查@Past        验证 Date 和 Calendar 对象是否在当前时间之前,验证成立的话被注释的元素一定是一个过去的日期@Future     验证 Date 和 Calendar 对象是否在当前时间之后,验证成立的话被注释的元素一定是一个将来的日期 @Pattern   验证 String 对象是否符合正则表达式的规则,被注释的元素符合制定的正则表达式,regexp:正则表达式 flags: 指定                      Pattern.Flag 的数组,表示正则表达式的相关选项。

数值检查       建议使用在Stirng,Integer类型,不建议使用在 int 类型上,因为表单值为 空 时无法转换为 int, @Min                 验证 Number 和 String 对象是否大等于指定的值 @Max                验证 Number 和 String 对象是否小等于指定的值@DecimalMax  被标注的值必须不大于约束中指定的最大值. 这个约束的参数是一个通过BigDecimal定义的最大值的字符串表示.                            小数存在精度( Double, float, BigDecimal )@DecimalMin   被标注的值必须不小于约束中指定的最小值. 这个约束的参数是一个通过BigDecimal定义的最小值的字符串表示.                            小数存在精度 @Digits              验证 Number 和 String 的构成是否合法 @Digits(integer=,fraction=)   验证字符串是否是符合指定格式的数字,interger指定整数精度,fraction指定小数精度。 @Range(min=, max=)          被指定的元素必须在合适的范围内 @Range(min=10000,max=50000,message=”range.bean.wage”) @Valid      递归的对关联对象进行校验, 如果关联对象是个集合或者数组,那么对其中的元素进行递归校验,如果是一个map,则对其                   中的值部分进行校验.(是否进行递归验证) @CreditCardNumber        信用卡验证@Email        验证是否是邮件地址,如果为null,不进行验证,算通过验证。 @ScriptAssert(lang= ,script=, alias=)  @URL(protocol=,host=, port=,regexp=, flags=) 

 

三、demo操作步骤

     1)  pom.xml中引入依赖

			
		
			org.hibernate.validator
			hibernate-validator
			6.0.10.Final
		
		
		    org.hibernate
		    hibernate-validator-annotation-processor
		    6.0.10.Final
		

 2)  SpringMVC配置文件中需要

关注
打赏
1664721914
查看更多评论
立即登录/注册

微信扫码登录

0.0436s