首页
学习
活动
专区
圈层
工具
发布

jsr 303注解

1、简介 JSR是Java Specification Requests的缩写,意思是Java 规范提案 JSR-303 是JAVA EE 6 中的一项子规范,叫做Bean Validation 即,JSR...303,Bean Validation规范 ,为Bean验证定义了元数据模型和API。...2、常用校验注解 注解 ** 描述** @Null 被注释的元素必须为 null @NotNull 被注释的元素必须不为 null @NotBlank 字符串不能为null 和空字符串"" **@NotEmpty...注解规则校验 // 添加@Validated注解,让jsr注解生效,添加在被注解参数前 // BindingResult获取jsr校验结果,且必须紧挨着校验参数,中间不能有别的参数 public R check...同理,实体类的其他属性字段在新增和修改的情况下也有所差异 分组校验步骤: 1. 新增校验的分组接口(空接口,不需要实现) 2. 在实体类的属性字段上新增分组属性 3.

60240
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    后端表单验证JSR303

    概况 在处理后端的业务逻辑是常常会涉及表单数据的提交请求,我们不仅在前端对数据进行验证,而且在后端也需要对数据进行验证,以此来保证数据的完整性,而后端对于表单数据的验证使用的最多的莫过于JSR303。...1、引入依赖 2、自定义验证规则 3、校验捕获异常错误 第一种:controller捕获 第二种:统一异常捕获 第三种:统一处理配合枚举 4、测试 1、引入依赖 使用JSR303...JSR注释: @NotNull –验证带注释的属性值不为 null @AssertTrue –验证带注释的属性值为 true @Size –验证带注释的属性值的大小介于属性 min和 max之间;可以应用于...null还是空格 @Positive和 @PositiveOrZero –适用于数值并验证其严格为正,或包含0的正数 @Negative和 @NegativeOrZero –适用于数字值并验证其严格为负数...,或包含0的负数 @Past和 @PastOrPresent –验证日期值是过去还是现在(包括现在);可以应用于日期类型,包括Java 8中添加的日期类型 @Future和@FutureOrPresent

    1.2K30

    Spring校验机制深度剖析:@Validated与JSR-303的较量

    JSR-303标准与Spring的融合 Java社区早在2009年就通过JSR-303(Bean Validation 1.0)确立了校验标准规范,其核心特点包括: 注解驱动:通过@NotNull、@Size...JSR-303标准详解 在Java生态系统中,JSR-303(Java Specification Request 303)作为Bean Validation规范的核心标准,定义了基于注解的声明式校验框架...通过上述机制,JSR-303为Spring校验提供了标准化基础。...作为Spring对JSR-303标准的扩展实现,它不仅继承了标准校验功能,还通过特有的设计增强了校验的灵活性和适用性。要深入理解这个注解,我们需要从三个维度展开:使用场景、实现原理和特殊能力。...以用户注册接口为例,我们可以结合JSR-303和Spring的增强注解实现多维度校验: @RestController @RequestMapping("/users") public class UserController

    40810

    SpringBoot 使用 JSR303 实现参数验证

    简介 JSR-303 是 JAVA EE 6 中的一项子规范,叫做 Bean Validation。 在任何时候,当你要处理一个应用程序的业务逻辑,数据校验是你必须要考虑和面对的事情。...Bean Validation 为 JavaBean 验证定义了相应的元数据模型和 API。缺省的元数据是 Java Annotations,通过使用 XML 可以对原有的元数据信息进行覆盖和扩展。...规范内嵌的约束注解 实例 基本应用 引入依赖 org.springframework.boot spring-boot-starter-validation..., errorMap); } } 分组解决校验 新增和修改对于实体的校验规则是不同的,例如id是自增的时,新增时id要为空,修改则必须不为空;新增和修改,若用的恰好又是同一种实体,那就需要用到分组校验...save (@Validated(Groups.Add.class) User user) { return Result.ok(); } } 测试如下: 自定义校验注解 虽然JSR303

    86230

    JSR 303数据验证框架的注解使用

    JSR 303 基本的校验规则 空检查 @Null 验证对象是否为null @NotNull 验证对象是否不为null, 无法查检长度为0的字符串 @NotBlank 检查约束字符串是不是Null...日期检查 @Past 验证 Date 和 Calendar 对象是否在当前时间之前,验证成立的话被注释的元素一定是一个过去的日期 @Future 验证 Date 和 Calendar 对象是否在当前时间之后...建议使用在Stirng,Integer类型,不建议使用在int类型上,因为表单值为“”时无法转换为int,但可以转换为Stirng为”“,Integer为null @Min 验证 Number 和...String 对象是否大等于指定的值 @Max 验证 Number 和 String 对象是否小等于指定的值 @DecimalMax 被标注的值必须不大于约束中指定的最大值....这个约束的参数是一个通过BigDecimal定义的最小值的字符串表示.小数存在精度 @Digits 验证 Number 和 String 的构成是否合法 @Digits(integer=,fraction

    61020

    Spring Boot之JSR303数据校验及多环境切换

    JSR303数据校验 如何使用? Springboot中可以用@validated来校验数据,如果数据异常则会统一抛出异常,方便异常中心统一处理。...日期检查 @Past 验证 Date 和 Calendar 对象是否在当前时间之前 @Future 验证 Date 和 Calendar 对象是否在当前时间之后 @Pattern...=dev yaml的多文档块 和properties配置文件中一样,但是使用yml去实现不需要创建多个配置文件,更加方便了 !...server: port: 8081 #选择要激活那个环境块 spring: profiles: active: dev --- server: port: 8082 spring...port: 8084 spring: profiles: prod #配置环境的名称 注意:如果yml和properties同时都配置了端口,并且没有激活其他环境 , 默认会使用properties

    83130

    SpringMVC03之拦截器和JSR303

    JSR303数据校验 2. JSR303中含有的注解 Hibernate Validator 附加的注解 3....SpringMVC中使用JSR303进行服务器端验证         3.1 添加相关依赖         3.2 给校验对象的指定属性添加校验规则         3.3 在请求处理方法中,使用@Validated...JSR303数据校验 JSR303是Java为Bean数据合法性校验提供给的标准框架,已经包含在 JavaEE6.0中、JSR303通过在Bean 属性中标注类似 @NotNull @Max 等标准的注解指定校验规则...JSR303中含有的注解  @Null   被注释的元素必须为 null    @NotNull    被注释的元素必须不为 null    @AssertTrue     被注释的元素必须为...SpringMVC中使用JSR303进行服务器端验证  3.1 添加相关依赖 org.hibernate <artifactId

    73910

    SpringBoot整合JSR303实现参数校验

    今天介绍一下 Spring Boot 如何优雅的整合JSR-303进行参数校验,说到参数校验可能都用过,但是你真的会用吗?网上的教程很多,大多是简单的介绍。 什么是 JSR-303?...JSR-303 是 JAVA EE 6 中的一项子规范,叫做 Bean Validation。 Bean Validation 为 JavaBean 验证定义了相应的元数据模型和API。...添加依赖 Spring Boot整合JSR-303只需要添加一个starter即可,如下: org.springframework.bootJSR-303针对集合的嵌套校验也是可行的,比如List的嵌套校验,同样需要在属性上标注一个@Valid注解才会生效,如下: @Data public class ArticleDTO { /...这个Validator可以用来自定义实现自己的校验逻辑,有些大公司完全不用JSR-303提供的@Valid注解,而是有一套自己的实现,其实本质就是利用Validator这个接口的实现。

    3.3K22
    领券