博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Validate注解校验
阅读量:3935 次
发布时间:2019-05-23

本文共 1427 字,大约阅读时间需要 4 分钟。

前言

简述JSR303/JSR-349,hibernate validation,spring validation之间的关系。

  • JSR303是一项标准,JSR-349是其的升级版本,添加了一些新特性,他们规定一些校验规范即校验注解,如@Null,@NotNull,@Pattern,他们位于javax.validation.constraints包下,只提供规范不提供实现。
  • 而hibernate validation是对这个规范的实践(不要将hibernate和数据库orm框架联系在一起),他提供了相应的实现,并增加了一些其他校验注解,如@Email,@Length,@Range等等,他们位于org.hibernate.validator.constraints包下。
  • 而万能的spring为了给开发者提供便捷,对hibernate validation进行了二次封装,显示校验validated bean时,你可以使用spring validation或者hibernate validation,而spring validation另一个特性,便是其在springmvc模块中添加了自动校验,并将校验信息封装进了特定的类中。

常见注解

JSR提供的校验注解:

@Null   被注释的元素必须为 null    @NotNull    被注释的元素必须不为 null    @AssertTrue     被注释的元素必须为 true    @AssertFalse    被注释的元素必须为 false    @Min(value)     被注释的元素必须是一个数字,其值必须大于等于指定的最小值,验证 Number 和 String 对象@Max(value)     被注释的元素必须是一个数字,其值必须小于等于指定的最大值,验证 Number 和 String 对象@DecimalMin(value)  被注释的元素必须是一个数字,其值必须大于等于指定的最小值    @DecimalMax(value)  被注释的元素必须是一个数字,其值必须小于等于指定的最大值    @Size(max=, min=)   被注释的元素的大小必须在指定的范围内,验证对象(Array,Collection,Map,String)@Digits (integer, fraction)     被注释的元素必须是一个数字,其值必须在可接受的范围内    @Past   被注释的元素必须是一个过去的日期    @Future     被注释的元素必须是一个将来的日期    @Pattern(regex=,flag=)  被注释的元素必须符合指定的正则表达式

Hibernate Validator提供的校验注解:

@NotBlank(message =)   验证字符串非null,且长度必须大于0    @Email  被注释的元素必须是电子邮箱地址    @Length(min=,max=)  被注释的字符串的大小必须在指定的范围内    @NotEmpty   被注释的字符串的必须非空    @Range(min=,max=,message=)  被注释的元素必须在合适的范围内

具体场景

String类型

@Blank

用于String类型变量上,表示不能为null,去trim后length>0

Integer类型

Long类型

转载地址:http://hzqgn.baihongyu.com/

你可能感兴趣的文章
Telnet 命令在Windows与Linux/Unix下的区别
查看>>
Java传统IO / NIO基础知识
查看>>
Netty3- 入门示例
查看>>
Netty3 - 多连接的客户端示例
查看>>
Netty3 -会话状态监听
查看>>
Netty3 - 对象的序列化与反序列化ProtoBuf
查看>>
Netty3 - 对象的序列化与反序列化 java
查看>>
Netty3 - 自定义序列化协议(1)
查看>>
Netty3 - 自定义序列化协议(2)
查看>>
数据缓存一致性方案
查看>>
分布式锁原理 --及常见实现方式的优劣势分析
查看>>
一:Lua 数据类型及表达示
查看>>
二:Lua 基本语法
查看>>
Ubuntu 18.04 界面美化之windows任务栏
查看>>
QT 5.9.0 移植
查看>>
objdump 反汇编 vmlinux详解
查看>>
sudo命令无法读取环境变量的解决方法
查看>>
Qt中configure参数配置说明
查看>>
Ubuntu 添加右键打开终端
查看>>
Linux 内核开机logo制作
查看>>