일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- 룸북
- 추천 프로그램
- 추천 사이트
- js
- 설정
- StringUtils.hasText
- it
- BindingResult
- 타임리프
- 리눅스
- 시퀀스 조회
- cmd
- 다른사람 프로젝트 수정전 가져야할 자세
- Intellij
- linux
- 비밀번호 변경 명령어
- 함수 인자값 id
- Test 룸북 사용하기
- 하모니카 OS 5
- 타임리프와 스프링
- 순서 보장
- select
- JSON
- 프로젝트 클린
- 명령어
- 자바스크립트 인라인
- 개발시작전 자세
- 스프링부트
- #{..}
- Java
Archives
- Today
- Total
웹개발 블로그
스프링 또는 스프링부트 validation(유효성검사) 하기 본문
https://gardeny.tistory.com/36
spring - validation (유효성 검사) 하기
Validation을 해보자 웹 개발을 하다 보면 서버에 들어온 요청이 서버에서 요구하는 스펙에 잘 맞게 들어왔는지 검사해야 할 필요가 있습니다. 예를 들어 회원가입을 할 때 이름은 필수로 들어와야
gardeny.tistory.com
스프링
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>6.1.5.Final</version>
</dependency>
스프링부트
build.gradle 파일 dependecies 에 추가
implementation 'org.springframework.boot:spring-boot-starter-validation'
Bean Validation
ㄴBean Validation을 잘 활용하면, 애노테이션 하나로 검증 로직을 매우 편리하게 적용할 수 있다.
import lombok.Data;
import org.hibernate.validator.constraints.Range;
import javax.validation.constraints.Max;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
@Data
public class Item {
private Long id;
@NotBlank //빈값, null, 공백 안됨
private String itemName;
@NotNull
@Range(min =1000, max=1000000) //범위
private Integer price;
@NotNull
@Max(9999) //최대값
private Integer quantity;
public Item() {
}
public Item(String itemName, Integer price, Integer quantity) {
this.itemName = itemName;
this.price = price;
this.quantity = quantity;
}
}
#사용
ㄴ @Validate를 붙여줘야 한다.
public String addItem(@Validated @ModelAttribute Item item, BindingResult bindingResult, RedirectAttributes redirectAttributes, Model model) {
/**
* @Validated : 검증기를 편리하게 도입
* ㄴ validator를 직접 호출하는 부분이 사라지고, 대신에 검증 대상 앞에 @Validated가 붙었다.
*
* 검증시 @Validated @Valid 둘다 사용가능하다.
* ㄴ javax.validation.@Valid 를 사용하려면 build.gradle 의존관계 추가가 필요하다.
* > implementation 'org.springframework.boot:spring-boot-starter-validation'
* > @Validated 는 스프링 전용 검증 애노테이션이고, @Valid 는 자바 표준 검증 애노테이션이다
* */
⬇️검증 애너테이션 사이트
Hibernate Validator 6.2.5.Final - Jakarta Bean Validation Reference Implementation: Reference Guide
Validating data is a common task that occurs throughout all application layers, from the presentation to the persistence layer. Often the same validation logic is implemented in each layer which is time consuming and error-prone. To avoid duplication of th
docs.jboss.org
'◆SPRING > 정리' 카테고리의 다른 글
컴포넌트 스캔으로 자동으로 등록 (0) | 2023.07.08 |
---|---|
[Spring] 국제화 (0) | 2023.05.31 |
[HTML Form 데이터 전송] application/x-www-form-urlencoded 과 multipart/form-data 차이 (0) | 2023.04.04 |
assertThat import (0) | 2023.03.11 |
[Spring] 메시지 (0) | 2023.02.08 |