[๐ฃ ํธ๋ฌ๋ธ์ํ ] @NotBlank, @NotNull, @NotEmpty, @DateTimeFormat ์ฌ์ฉ๋ฒ
โ ENUM ํ์ ์์๋ @NotBlank ์ฌ์ฉ X
No validator could be found for constraint 'javax.validation.constraints.NotBlank'
ENUM ํ์ ์ ํ๋์ @NotBlank ์ด๋ ธํ ์ด์ ์ ๋ถ์ด๊ณ , ์์ฒญ์ ๋ณด๋๋๋ ์์ ๊ฐ์ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค.
๊ฒฐ๋ก ๋ถํฐ ๋งํ์๋ฉด, @NotBlank๋ CharSequence์๋ง ์ ์ฉ๋๋ฏ๋ก Enum ํ์ ์ ํ๋์์๋ ์ฌ์ฉํ ์ ์๋ค.
โจ CharSequence
๐ ๋ฌธ์์ด์ ๋ํ๋ด๋ ์ธํฐํ์ด์ค
๐ String, StringBuilder, StringBuffer, CharBuffer
โณ๏ธ @NotBlank, @NotNull, @NotEmpty ์ฐจ์ด
- @NotBlank
๐ ๋ฌธ์์ด ํ๋๊ฐ null์ด ์๋๊ณ ๋น ๋ฌธ์์ด์ด ์๋์ด์ผ ํจ
- @NotNull
๐ ํด๋น ํ๋(๋ชจ๋ ๊ฐ์ฒด ํ์ )๊ฐ null์ด ์๋์ด์ผ ํจ. ๋น ๋ฌธ์์ด, ๊ณต๋ฐฑ, ๋น ์ปฌ๋ ์ , ๋น ๋ฐฐ์ด์ ํ์ฉ
- @NotEmpty
๐ ํด๋น ํ๋๊ฐ null์ด ์๋๊ณ , ๋น์ด ์์ง ์์ ์ํ์ฌ์ผ ํจ
์ด๋ ธํ ์ด์ | null ํ์ฉ | ๋น ๋ฌธ์์ด ํ์ฉ | ๊ณต๋ฐฑ ๋ฌธ์ ํ์ฉ | ๋น ์ปฌ๋ ์ ํ์ฉ |
@NotNull | โ (ํ์ฉ ์ ํจ) | โ (ํ์ฉ) | โ (ํ์ฉ) | โ (ํ์ฉ) |
@NotEmpty | โ (ํ์ฉ ์ ํจ) | โ (ํ์ฉ ์ ํจ) | โ (ํ์ฉ) | โ (ํ์ฉ ์ ํจ) |
@NotBlank | โ (ํ์ฉ ์ ํจ) | โ (ํ์ฉ ์ ํจ) | โ (ํ์ฉ ์ ํจ) | N/A (์ ์ฉ ๋ถ๊ฐ) |
โ Controller์์ ๋ ์ง ๊ฐ์ ํ๋ผ๋ฏธํฐ๋ก ๋ฐ์ ๋, @DateTimeFormat ์ฌ์ฉ
@GetMapping("/example")
public String example(@RequestParam @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate date) {
// ๋ก์ง ์ฒ๋ฆฌ
return "example";
}
@DateTimeFormat ์ด๋ ธํ ์ด์ ์ ๋ถ์ด์ง ์์ผ๋ฉด ๊ธฐ๋ณธ์ ์ผ๋ก ๋ฌธ์์ด๋ก ์ ๋ฌ๋ ๋ ์ง๋ฅผ ํ์ฑํ๋ ๋ฐ ๋ฌธ์ ๋ฐ์
์ฐธ๊ณ
https://sas-study.tistory.com/473
https://browndwarf.tistory.com/48
https://javaee.github.io/javaee-spec/javadocs/javax/validation/constraints/NotBlank.html
https://javaee.github.io/javaee-spec/javadocs/javax/validation/constraints/NotNull.html
https://javaee.github.io/javaee-spec/javadocs/javax/validation/constraints/NotEmpty.html