유효성 검사 @Valid @Validated
웹에서 회원등록을 위해 입력을 한다거나, 다양한 상황에서 입력을 할 때
제약조건들이 존재한다.
예를 들어 반드시 값을 입력
해야된다거나, 띄어쓰기는 허용하지 않는다
거나 등
여러 제약조건
들이 있을 수 있다.
그럴때 사용하는 것이 바로
@Valid, @Validated 에노테이션이다
🔎 사용법
🔗 pom.xml 의존성 추가
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>2.0.1.Final</version>
</dependency>
<!-- hibernate-validator -->
<dependency>
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator</artifactId>
<version>6.0.1.Final</version>
</dependency>
💡 유효성 검사 항목 선정
(제약조건 @NotNull, @NotBlank, @NotEmpty)
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>2.0.1.Final</version>
</dependency>
<!-- hibernate-validator -->
<dependency>
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator</artifactId>
<version>6.0.1.Final</version>
</dependency>
public class User { private int seq; @NotNull private int class_no; @NotBlank(message = "이름을 입력하지 않았습니다.") private String name; @NotBlank private String major; @NotBlank private String field; @NotBlank private String id; @NotBlank private String pw;
💡 @Valid 에노테이션 사용
Request로 넘어오는 User객체의 @Valid 애노테이션으로 제약조건이 걸려있는 필드 검증
-> 제약조건을 만족하지 못하면 해당 오류 내용을 signUp 메소드의 두번째 파라미터, BindingResult에 담아낸다. 이 값을 통해 디테일한 오류처리 가능해짐
자세한 오류처리 링크
@ResponseBody @RequestMapping(value="/sign-up", method=RequestMethod.POST) public ResponseEntity signUp(@RequestBody @Valid User user, BindingResult bindingResult){ //can do something(like ErrorHandling) userService.signUp(user); return new ResponseEntity(HttpStatus.OK); }
Author And Source
이 문제에 관하여(유효성 검사 @Valid @Validated), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@ajongs/유효성-검사-Valid-Validated저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)