πŸ“š TIL 27일차

temprmnΒ·2023λ…„ 6μ›” 22일
0
post-thumbnail

였늘의 μ£Όμš”μ‚¬ν•­ (6/22, λͺ©μš”일)

  1. μ •κ·œμ‹μ—κ²Œ ν˜Όλ‚˜λ‹€

id(username) 및 password μ •κ·œν‘œν˜„μ‹ (w. @Pattern)

username

β–Ά 생성 쑰건: μ΅œμ†Œ 4자 이상, 10자 μ΄ν•˜μ΄λ©° μ•ŒνŒŒλ²³ μ†Œλ¬Έμž(a~z), 숫자(0~9) μ‚¬μš©

@Pattern(regexp = "^(?=.*[a-z\\d]).{4,10}$")
@NotBlank
private String username;

password

β–Ά 생성 쑰건: μ΅œμ†Œ 8자 이상, 15자 μ΄ν•˜μ΄λ©° μ•ŒνŒŒλ²³ λŒ€μ†Œλ¬Έμž(a~z, A~Z), 숫자(0~9) μ‚¬μš©

@Pattern(regexp = "^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d).{8,15}$")
@NotBlank
private String password;

μ •κ·œν‘œν˜„μ‹ (μ •κ·œμ‹, regexp) @Pattern μ–΄λ…Έν…Œμ΄μ…˜ μ‚¬μš© μ‹œ μ£Όμ˜ν•  점

μ•ˆλ…•ν•˜μ„Έμš”? μ—¬λŸ¬λΆ„! μ—¬λŸ¬λΆ„λ“€μ€ @Pattern μ–΄λ…Έν…Œμ΄μ…˜μ΄ JPAμ—μ„œ μ§€μ›λ˜μ§€ μ•ŠλŠ”λ‹€λŠ” 사싀을 μ•Œκ³  κ³„μ…§λ‚˜μš”? μ €λŠ” μ΄ν‹€λ™μ•ˆ μ‚½μ§ˆν•˜λ‹€κ°€ μ•Œκ²Œ λ˜μ—ˆλŠ”λ°μš”~ ν•˜λ§ˆν„°λ©΄ μ •κ·œμ‹ λ§ˆμŠ€ν„°κ°€ 될 λ»”~😝 (μ•ˆλμŠ΅λ‹ˆλ‹€~)

κ·ΈλŸ¬λ‹ˆκΉŒ 예λ₯Ό λ“€μ–΄μ„œ @Column μ–΄λ…Έν…Œμ΄μ…˜μ΄ 달린 ν•„λ“œμ— @Pattern을 직접 μ‚¬μš©ν–ˆλ‹€κ°„ μ •κ·œμ‹ μœ νš¨μ„± 검사가 μ œλŒ€λ‘œ λ˜μ§€ μ•ŠλŠ”λ‹€κ³  ν•΄μš”~

entity > User.java
@Pattern(regexp = "^(?=.*[a-z\\d]).{4,10}$")
@Column(nullable = false, unique = true)
private String username;

μœ νš¨μ„± 검사가 μ•ˆ 된 잘λͺ»λœ μ½”λ“œ!!


해결방법

[1] Service ν˜Ήμ€ Controller κ³„μΈ΅μ—μ„œ μœ νš¨μ„± 검사λ₯Ό μ‹€μ‹œ
[2] 값을 μž…λ ₯ 받을 λ•Œ μœ νš¨μ„± 검사λ₯Ό μ‹€μ‹œ

μ €λŠ” [2]λ²ˆμ„ νƒν–ˆμŠ΅λ‹ˆλ‹€ ^^

entity > UserRequestDto.java
@Pattern(regexp = "^(?=.*[a-z\\d]).{4,10}$")
@NotBlank
private String username;

Postmanμ—μ„œλ„ λ¬Έμ œμ—†μ΄ νšŒμ›κ°€μž…μ΄ μ™„λ£Œλœ λͺ¨μŠ΅μ„ 확인할 수 μžˆμ—ˆλŠ”λ°μš”~

μ—¬λŸ¬λΆ„λ“€μ€ 이 점 μ°Έκ³ ν•˜μ‹œμ–΄ μ €μ²˜λŸΌ!! 이런 바보같은 μ‹€μˆ˜λ₯Ό ν•˜μ§€ μ•Šλ„λ‘ μ‘°μ‹¬ν•˜λ„λ‘ ν•˜μ‹œκΈΈ λ°”λžλ‹ˆλ‹€!! ^^

profile
`ISFJ` T 49% F 51% /

0개의 λŒ“κΈ€