Today I Learned
(24.05.27)[7주차] Validation 의 @Pattern
오늘 점심, 저녁까지 밥먹으면서 개인과제를 붙들다간 뭔일이 났는지 하루종일 버그만 잡다가 지나가버렸다..
결국 발견한건.. DB의 이름이 application.properties의 이름과 살짝 달라서 계속 오류가 났던 것..
복수형/단수형 때문에 s를 안붇힌게 큰 화근이 되어버렸다.
Spring 숙련 개인 과제 주의할 점 정리
Validation 의 @Pattern
더보기
@Getter
@Setter
public class SignupRequestDto {
@NotBlank
@Size(min=4, max=10)
@Pattern(regexp = "^[a-zA-Z0-9]*$", message = "알파벳과 숫자로만 이뤄져야합니다.")
private String username;
@NotBlank
@Size(min=8, max=15)
@Pattern(regexp = "^[a-zA-Z0-9]*$", message = "알파벳과 숫자로만 이뤄져야합니다.")
private String password;
@NotBlank
private String nickname;
private boolean admin = false;
private String adminToken = "";
}
- Validation에서 @Pattern은 정규식을 사용해서 사용할 수 있음
- Java의 import.java.util.regex와 유사하지만, 그 규칙이 있기 때문에 사용할 때, 찾아보거나 알아볼 수 있도록
- 해당 알파벳과 숫자로만 이뤄져야하는 조건은 많이 사용되는 부분이기 때문에 기억하고 있어야 할 것
@Size(min=4, max=10)
@Pattern(regexp = "^[a-zA-Z0-9]*$", message = "알파벳과 숫자로만 이뤄져야합니다.")
@Pattern(regexp = "^[a-zA-Z0-9]{4,10}$", message = "글자가 4~10 사이여야하고, 알파벳과 숫자로만 이뤄져야합니다.")
- 정규식을 상요해서 두 항목을 합칠 수 있지만 편의상 하나씩 Validation을 통한 예외검증이 필요할 경우 분리할 수 있음
- 뒤의 message = "내용" 을 붙여서 원하는 예외 메시지를 출력할 수 있음!
- 매우 중요!!
코드 전체가 문제가 생긴줄 알고 모두 롤백시켜서 처음부터 다시 설계하느라 시간이 많이 걸리긴했다...
그래도 내일 부터 열심히 할 수 있도록..
'Today I Learned' 카테고리의 다른 글
(24.05.29)[7주차] JWT Access Token과 Refresh Token 정리 (0) | 2024.05.29 |
---|---|
(24.05.28)[7주차] void 반환 타입일 때의 response 사용 (0) | 2024.05.28 |
(24.05.25)[6주차] WIL (0) | 2024.05.25 |
(24.05.24)[6주차] Spring 숙련 강의 04 마무리 (0) | 2024.05.24 |
(24.05.23)[6주차] Spring 숙련 강의 03 (0) | 2024.05.23 |