Spring Boot๋ Hibernate Validator์ ๊ฐ์ ์ ํจ์ฑ ๊ฒ์ฌ๋ฅผ ์ํ ๋ค์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ง์ํ๋ค.
์ด๋ฅผ ํตํด ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ฌ์ฉ์๊ฐ ์ ๋ ฅํ ๋ฐ์ดํฐ๋ ์ธ๋ถ๋ก๋ถํฐ ๋ฐ์ ๋ฐ์ดํฐ์ ์ ํจ์ฑ์ ๊ฒ์ฆํ ์ ์์ผ๋ฉฐ, ์๋ชป๋ ๋ฐ์ดํฐ๊ฐ ์ ๋ ฅ๋๋ ๊ฒ์ ๋ฐฉ์งํ ์ ์๋ค.
Hibernate Validator๋ Bean Validation ์คํ์ ๊ตฌํ์ฒด ์ค ํ๋๋ก, ์ฌ๋ฌ ์ข ๋ฅ์ ๊ฒ์ฆ ์ด๋ ธํ ์ด์ ์ ์ ๊ณตํ์ฌ ๊ฐ๋จํ๊ฒ ์ ํจ์ฑ ๊ฒ์ฌ๋ฅผ ์ํํ ์ ์์ต๋๋ค.
๐Hibernate Validator ์ด๋ ธํ ์ด์
@NotNull
ํ๋๊ฐ null์ด ์๋์ง ํ์ธ
@NotEmpty
๋ฌธ์์ด, ์ปฌ๋ ์ , ๋ฐฐ์ด ๋ฑ์ด null์ด ์๋๊ณ ๋น์ด์์ง ์์์ง ํ์ธ
@NotBlank
๋ฌธ์์ด์ด null์ด ์๋๊ณ ๊ณต๋ฐฑ ๋ฌธ์๋ฅผ ์ ์ธํ ๋ฌธ์์ด์ด ์๋์ง ํ์ธ
@Size(min, max)
๋ฌธ์์ด, ์ปฌ๋ ์ , ๋ฐฐ์ด์ ํฌ๊ธฐ๊ฐ ์ฃผ์ด์ง ๋ฒ์์ ์ํ๋์ง ํ์ธ
๋ฌธ์์ด์ด ์ด๋ฉ์ผ ํ์์ ๋ง๋์ง ํ์ธ
@Pattern(regex)
๋ฌธ์์ด์ด ์ฃผ์ด์ง ์ ๊ท์ ํจํด๊ณผ ์ผ์นํ๋์ง ํ์ธ
๐ @Valid
์ด๋ ธํ ์ด์ ์ ํตํด DTO ํด๋์ค์ ๋ํ ์ ํจ์ฑ ๊ฒ์ฌ๋ฅผ ํ์ฑํ !! (์ด๊ฑธ ๋ฌ์์ค์ผ ๊ฒ์ฆ ๊ฐ๋ฅ)
BindingResult๋ฅผ ํตํด ๊ฒ์ฆ ๊ฒฐ๊ณผ๋ฅผ ํ์ธํ๊ณ ์ถ๊ฐ์ ์ธ ์ฒ๋ฆฌ ๊ฐ๋ฅ
๐etc
@Column
@Column(length = 50)
String email;
: ๊ธธ์ด๊ฐ 50์ธ String์ด ์ ์ฅ๋จ
nullable = true๊ฐ default์ด๋ฏ๋ก null์ด ๊ฐ๋ฅํด์ง๋ค. notnull ์ค์ ํ๋ ค๋ฉด false๋ฅผ ์ถ๊ฐ์ ์ผ๋ก ๊ฑธ์ด์ค์ผ ํ๋ค.
[์ฃผ์] NotNull, NotBlank, NoEmpty vs Column(nullable=false)
@Column(nullable=false)
ํ๋๊ฐ null์ด ์๋์ง ํ์ธ
nullable์ default๊ฐ true์ด๋ค.
@notnull๊ณผ @Column(length=50)์ ํจ๊ป ์จ์ฃผ๋ฉด notnull์ Column์ด ๋ฎ์ด์จ๋ฒ๋ ค์ not null ์ค์ ์ด ๋์ง ์๋๋ค.
๋ฐ๋ผ์ Column๊ณผ notNull์ ํจ๊ป ์จ์ค ๋๋ ์ด ๋ถ๋ถ์ ์ฃผ์ํด์ผํ๋ค.
@Email vs @Pattern
๋ณดํต Email ์ด๋ ธํ ์ด์ ๋ณด๋ค ๋ฐ Pattern์ผ๋ก ์ ๊ทํํ์์ ์ด์ฉ
@Pattern(regexp = " ^[a-zA-z0-9+-\\_.] + @naver.com + $ ")
์ผ๋ฐ ์ด๋ ธํ ์ด์ ๋ณด๋ค ์ ๊ท ํํ์์ ์ฐพ์์ ํ๋ ๊ฒ ์ข๋ค!
์ ๊ท ํํ์์ ๊ดํ ์์ธํ ๋ด์ฉ์ ๋ค์ ๋งํฌ๋ฅผ ๊ฑธ์ด๋๋ค
..
https://coding-factory.tistory.com/819
[Web] ์ ๊ทํํ์ ํ ์คํธ ์ฌ์ดํธ ๋ชจ์ ์ด์ ๋ฆฌ
์ ๊ทํํ์์ ์ฌ์ฉํ๋ค ๋ณด๋ฉด ์ด ๋ฌธ๋ฒ์ด ๋ง๋์ง ์๋์ง ํท๊ฐ๋ฆฌ๋ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค. ๋ ์ธ์ด๋ง๋ค ์ ๊ทํํ์์ด ์กฐ๊ธ์ฉ ๋ค๋ฅธ ๋ถ๋ถ๋ ์์ด ํ ์คํธ๋ฅผ ๋ง์ด ํด์ผ ํฉ๋๋ค. ๊ฐ๋ฐ์ ํ ๋ ์์ฒด ํ ์คํธ๋ก
coding-factory.tistory.com
'โก๐ฉโ๐ป โก > ยบSpring' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Spring] Logging ๋ก๊น (0) | 2023.12.27 |
---|---|
[Spring] AOP(Aspect Oriented Programming) ๊ด์ ์งํฅ ํ๋ก๊ทธ๋๋ฐ (0) | 2023.12.27 |
[Spring] ์คํ๋ง ๋ฌธ์ํ(Spring DOC) - Swagger UI (0) | 2023.12.26 |
[Spring JPA] JpaRepository ์ธํฐํ์ด์ค findById() ๋ฉ์๋ ์ฌ์ฌ์ฉ (0) | 2023.12.21 |
[Spring Security] Spring Security ์ด๊ธฐ ์ค์ (0) | 2023.12.21 |