• Java Hibernate Validator


    Hibernate Validator是Hibernate提供的一个开源框架,使用注解方式非常方便的实现服务端的数据校验。

    官网:http://hibernate.org/validator/

    hibernate Validator 是 Bean Validation 的参考实现 。

    Hibernate Validator 提供了 JSR 303 规范中所有内置 constraint(约束) 的实现,除此之外还有一些附加的 constraint。

    在日常开发中,Hibernate Validator经常用来验证bean的字段,基于注解,方便快捷高效。

    Bean校验的注解:

    添加maven依赖:

    <dependency>
        <groupId>org.hibernate.validator</groupId>
        <artifactId>hibernate-validator</artifactId>
    </dependency>   

    对象属性约束:

    @Table(name = "tb_user")
    @Data
    public class User {
        @Id
        @GeneratedValue(strategy = GenerationType.IDENTITY)
        private Long id;
    
        @NotEmpty(message = "用户名不能为空")
        @Length(min = 4, max = 15, message = "用户名长度必须是4~15位")
        private String username;// 用户名
    
        @JsonIgnore
        @NotEmpty(message = "密码不能为空")
        @Length(min = 6, max = 25, message = "密码长度必须是6~25位")
        private String password;// 密码
    
        @Pattern(regexp = "^1[35678]\d{9}$", message = "手机号格式不正确")
        private String phone;// 电话
    
        private Date created;// 创建时间
    
        @JsonIgnore
        private String salt;// 密码的盐值
        
    }

    使约束生效:

    @PostMapping("/register")
        public ResponseEntity<Void> register(@Valid User user, @RequestParam("code") String code) {
            userService.register(user, code);
            return ResponseEntity.status(HttpStatus.CREATED).build();
        }
  • 相关阅读:
    Cookie
    webSocket+HeadBeat
    Javascript-多个数组是否有一样值
    后缀补全用得好,提前下班没烦恼
    Nginx 究竟如何处理事件?
    9 个习惯助你在新的一年更有精力
    一篇文章带你了解 ZooKeeper 架构
    浅析 Nginx 网络事件
    ZooKeeper 入门看这篇就够了
    如何优雅地关闭worker进程?
  • 原文地址:https://www.cnblogs.com/heqiuyong/p/10486663.html
Copyright © 2020-2023  润新知