본문 바로가기
IT관련/Spring

[Spring] 어노테이션(annotation) 정리(1) - 유효성 검사 관련

by 확고 2022. 3. 22.
728x90
반응형

 

번호 종류 설명 예시
1 @Valid 유효성 검사할 때 객체 앞에 붙여서 사용 @ModelAttribute("bean") @Valid HwakgoBean gb, BindingResult result

→ 커맨드 객체 HwakgoBean 앞에 Valid 사용해서 유효성 검사를 하고 검사 결과는 result 변수에 넣음(BindingResult는 반드시 @Valid 뒤에서 사용) 객체 앞에 @ModelAttribute를 써서 별칭 bean으로 설정
2 @NotBlank 1개 이상 입력되었는지 검사(공백 제외)

※ input태그 - checkbox, radio 사용 가능
※ select태그 - option 사용 가능
@NotBlank(message="제목 입력하세요")
3 @NotEmpty 1개 이상 입력되었는지 검사(공백도 입력으로 인식)

※ input태그 - checkbox, radio 사용 가능
※ select태그 - option 사용 가능
@NotEmpty(message="제목 입력하세요")
4 @NotNull Null이 아닌지 검사

※ input태그 - checkbox, radio 사용 가능/text 사용 불가
※ select태그 - option 사용 불가
radio에서는
@NotNull(message = "1개 필수 선택입니다")

checkbox에서는
@NotNull(message = "1개 이상 선택해주세요")
5 @Size 문자 길이 검사할 때 사용 @Size(min=5, max=8,
message="5자리~8자리로 입력하세요")
6 @Length 문자 길이 검사할 때 사용 @Length(min=5, max=8,
message="5자리~8자리로 입력하세요")
7 @Pattern 정규식 패턴 검사할 때 사용 @Pattern(regexp = "^[0-9]+$", message="price는 숫자로 입력하세요")

→ 정규 표현식을 사용할 때는 양쪽에 슬래시가 붙었는데 Pattern 어노테이션을 사용할 땐 사용하지 않는다. 0~9까지의 숫자로 시작하고 1개 이상은 사용해야 한다는 뜻
8 @Min 지정 값 이상 검사할 때 사용 @Min(value=10000, message = "가격은 최소 10000원 이상입니다.")
9 @Max 지정 값 이하 검사할 때 사용 @Max(value=20000, message = "가격은 최대 20000원 이하입니다.")
10 @Range 값 범위 설정해서 검사할 때 사용 @Range(min=10, max=200, message = "값 범위는 최소 10에서~최대 200까지 입력 가능합니다.")

※ Size는 문자 길이 - 사용 혼동 주의!!

728x90
반응형

댓글