๐Ÿ‘ฉ‍๐Ÿ’ป ์ •๋ฆฌ๊ธ€/๐Ÿ’ฃ ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ…

[๐Ÿ’ฃ ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ…] @NotBlank, @NotNull, @NotEmpty, @DateTimeFormat ์‚ฌ์šฉ๋ฒ•

soogoori 2024. 9. 27. 09:20

โ›” 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