• JSR303注解篇


    常用注解

    @Null  被注释的元素必须为null
    @NotNull  被注释的元素不能为null
    @AssertTrue  被注释的元素必须为true
    @AssertFalse  被注释的元素必须为false
    @Min(value)  被注释的元素必须是一个数字,其值必须大于等于指定的最小值
    @Max(value)  被注释的元素必须是一个数字,其值必须小于等于指定的最大值
    @DecimalMin(value)  被注释的元素必须是一个数字,其值必须大于等于指定的最小值
    @DecimalMax(value)  被注释的元素必须是一个数字,其值必须小于等于指定的最大值
    @Size(max,min)  被注释的元素的大小必须在指定的范围内。
    @Digits(integer,fraction)  被注释的元素必须是一个数字,其值必须在可接受的范围内
    @Past  被注释的元素必须是一个过去的日期
    @Future  被注释的元素必须是一个将来的日期
    @Pattern(value) 被注释的元素必须符合指定的正则表达式。
    @Email 被注释的元素必须是电子邮件地址
    @Length 被注释的字符串的大小必须在指定的范围内
    @NotEmpty  被注释的字符串必须非空
    @Range  被注释的元素必须在合适的范围内

    控制器需要加入注解@Validated

    import java.util.Date;
    
    import javax.validation.constraints.DecimalMax;
    import javax.validation.constraints.DecimalMin;
    import javax.validation.constraints.Email;
    import javax.validation.constraints.Future;
    import javax.validation.constraints.Max;
    import javax.validation.constraints.Min;
    import javax.validation.constraints.NotNull;
    import javax.validation.constraints.Size;
    
    import org.hibernate.validator.constraints.Range;
    import org.springframework.format.annotation.DateTimeFormat;
    
    /**** imports ****/
    public class ValidatorPojo {
    
        // 非空判断
        @NotNull(message = "id不能为空")
        private Long id;
    
        @Future(message = "需要一个将来日期") // 只能是将来的日期
        // @Past //只能去过去的日期
        @DateTimeFormat(pattern = "yyyy-MM-dd") // 日期格式化转换
        @NotNull // 不能为空
        private Date date;
    
        @NotNull // 不能为空
        @DecimalMin(value = "0.1") // 最小值0.1元
        @DecimalMax(value = "10000.00") // 最大值10000元
        private Double doubleValue = null;
    
        @Min(value = 1, message = "最小值为1") // 最小值为1
        @Max(value = 88, message = "最大值为88") // 最大值88
        @NotNull // 不能为空
        private Integer integer;
    
        @Range(min = 1, max = 888, message = "范围为1至888") // 限定范围
        private Long range;
    
        // 邮箱验证
        @Email(message = "邮箱格式错误")
        private String email;
    
        @Size(min = 20, max = 30, message = "字符串长度要求20到30之间。")
        private String size;
    
    }
  • 相关阅读:
    docker mariadb5 规格严格
    Cannot negotiate, proposals do not match 规格严格
    Maven 编译时报错 source 1.5 中不支持 multicatch 语句 的解决办法【转载】 规格严格
    本地锁和分布式锁的理解 规格严格
    FastDFS入门 规格严格
    FastDFS入门
    Springboot使用@WebFilterweb过滤器 规格严格
    Maven 编译时报错 source 1.5 中不支持 multicatch 语句 的解决办法 规格严格
    vsftp的简单使用 规格严格
    [python][flask] Flask 入门(以一个博客后台为例)
  • 原文地址:https://www.cnblogs.com/zhanqing/p/15629239.html
Copyright © 2020-2023  润新知