zoukankan      html  css  js  c++  java
  • @Valid与@Validated

    1 @Valid 只能校验java bean的参数。可以作用于方法、参数、属性。可用于属性上做嵌套校验。是java的

    2 @Validated 可以作用于方法、参数、类上,不能作用在成员属性上,因此不能实现嵌套校验。有分组功能,可以针对参数使不同的分组有不同的约束。是spring的

    3 两者的主要区别是:能否分组校验;能否嵌套校验。

    分组校验示例代码:

    public ExamLabelCmsVO save(@RequestBody @Validated(IInsertGroup.class) ExamLabelCmsForm form,
                                   @ApiIgnore @CurrentCmsUserId long cmsUserId) {
            ExamLabel record = examLabelService.getByName(form.getLabelName());
    .......
    
    
    public class ExamLabelCmsForm {
    
        @ApiModelProperty("标签ID")
        @NotNull(groups = IUpdateGroup.class)
        @Null(groups = IInsertGroup.class)
        private Long id;
    ......
    
    
    import javax.validation.groups.Default;
    
    public interface IUpdateGroup extends Default {
    }
    
    
    
    import javax.validation.groups.Default;
    
    public interface IInsertGroup extends Default {
    }

    嵌套校验示例代码:

    public class HomeModuleTimeSaveRequest {
      
        @Valid
        @NotEmpty
        @ApiModelProperty("时间段列表")
        private List<HomeModuleTimeInfo> timeList;
    }
  • 相关阅读:
    基于Linux的v4l2视频架构驱动编写
    eclipse中的快捷键
    单例模式
    Java集合之LinkedHashMap
    Java集合之HashMap
    Java集合之LinkedList
    Java集合之ArrayList
    Java垃圾回收机制
    JVM的内存区域划分
    Java并发编程:Thread类的使用
  • 原文地址:https://www.cnblogs.com/mydesky2012/p/15481758.html
Copyright © 2011-2022 走看看