복붙노트

[SPRING] @size (max = value)와 @min (value) 사이의 차이점 @max (value)

SPRING

@size (max = value)와 @min (value) 사이의 차이점 @max (value)

일부 도메인 유효성 검사를하고 싶습니다.

내 개체에서 하나의 정수,

지금 내 질문은 내가 쓰는 것입니다.

@Min(SEQ_MIN_VALUE)
@Max(SEQ_MAX_VALUE)
private Integer sequence;

 @Size(min = 1, max = NAME_MAX_LENGTH)
 private Integer sequence;

도메인 유효성 검사에 적합한 정수이면

아무도 나에게 그들 사이의 차이점을 설명 할 수 있습니까?

감사.

해결법

  1. ==============================

    1.@Min과 @Max는 String (숫자를 나타냄), int, short, byte 등의 숫자 필드와 해당 기본 래퍼 일 수있는 유효성 검사에 사용됩니다.

    @Min과 @Max는 String (숫자를 나타냄), int, short, byte 등의 숫자 필드와 해당 기본 래퍼 일 수있는 유효성 검사에 사용됩니다.

    @Size는 필드의 길이 제한 조건을 확인하는 데 사용됩니다.

    @Min과 @Max는 프리미티브와 래퍼를 지원하는 반면 @Size는 String, Collection, Map 및 배열을 지원합니다. 설명서를 참조하십시오.

  2. ==============================

    2.

    package com.mycompany;
    
    import javax.validation.constraints.Min;
    import javax.validation.constraints.NotNull;
    import javax.validation.constraints.Size;
    
    public class Car {
    
        @NotNull
        private String manufacturer;
    
        @NotNull
        @Size(min = 2, max = 14)
        private String licensePlate;
    
        @Min(2)
        private int seatCount;
    
        public Car(String manufacturer, String licencePlate, int seatCount) {
            this.manufacturer = manufacturer;
            this.licensePlate = licencePlate;
            this.seatCount = seatCount;
        }
    
        //getters and setters ...
    }
    

    @NotNull, @Size 및 @Min은 제약 조건을 선언하는 데 사용되는 소위 제약 조건 주석입니다.이 제약 조건은 Car 인스턴스의 필드에 적용됩니다.

    제조자는 결코 null이 아니어야한다.

    면허 번호판은 절대로 널 문자가 아니어야하며 길이는 2 자에서 14 자 사이 여야합니다

    seatCount는 2 이상이어야합니다.

  3. from https://stackoverflow.com/questions/11189398/difference-between-sizemax-value-and-minvalue-maxvalue by cc-by-sa and MIT license