programing

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

powerit 2023. 2. 27. 22:14
반응형

@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;

정수의 경우 도메인 검증에 적합한 정수는 무엇입니까?
그 둘의 차이점이 무엇인지 설명해 줄 수 있는 사람 있나요?

감사해요.

@Min그리고.@Max다음과 같은 숫자 필드를 검증하는 데 사용됩니다.String(숫자 표시),int,short,byteetc 및 각각의 원시 포장지.

@Size필드의 길이 제약을 체크하기 위해 사용합니다.

매뉴얼에 따라@Size서포트String,Collection,Map그리고.arrays하는 동안에@Min그리고.@Max는 프리미티브와 그 래퍼를 지원합니다.메뉴얼을 참조해 주세요.

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 인스턴스의 필드에 적용됩니다.

manufacturer결코 무효가 되지 않는다

licensePlatenull이 아니어야 하며 길이가 2~14자 사이여야 합니다.

seatCount최소 2가 되어야 한다.

매뉴얼에서는 예를 들어 다음과 같은 것을 사용하는 것이 목적이라고 생각합니다.

@Range(min= SEQ_MIN_VALUE, max= SEQ_MAX_VALUE)

주석이 달린 값이 지정된 최소값과 최대값 사이에 있는지 확인합니다.지원되는 데이터 유형:

BigDecimal, BigInteger, CharSequence, 바이트, 쇼트, int, 롱 및 각 원시 유형의 래퍼

언급URL : https://stackoverflow.com/questions/11189398/difference-between-sizemax-value-and-minvalue-and-maxvalue

반응형