+) 22. 08. 03. μ 리 μΆκ°
μΉμ 4. κ²μ¦1 - Validation μκ° μλ£!!
BindingResultμ κ²μ¦ μ€λ₯λ₯Ό μ μ©νλ λ°©λ²
1. @ModelAttribute
μ κ°μ²΄μ νμ
μ€λ₯ λ±μΌλ‘ λ°μΈλ©μ΄ μ€ν¨νλ κ²½μ° μ€νλ§μ΄ FieldError
λ₯Ό μμ±ν΄μ BindingResult
μ λ£μ΄μ€λ€.
2. κ°λ°μκ° μ§μ λ£μ΄μ€λ€.
3. Validator
λ₯Ό μ¬μ©νλ€.
νμ리νμ μ¬μ©μ μ
λ ₯ κ° μ μ§
th:field
: μ μ μν©μλ λͺ¨λΈ κ°μ²΄μ κ°μ μ¬μ©νμ§λ§, μ€λ₯κ° λ°μνλ©΄ FieldError
μ 보κ΄ν κ°μ μ¬μ©ν΄μ μΆλ ₯νλ€.
μ€νλ§μ λ°μΈλ© μ€λ₯ μ²λ¦¬
μ€ν리μ νμ
μ€λ₯λ‘ λ°μΈλ©μ μ€ν¨νλ©΄ FieldError
λ₯Ό μμ±νλ©΄μ μ
λ ₯ν κ°μ λ£μ΄λλ€. κ·Έλ¦¬κ³ ν΄λΉ μ€λ₯λ₯Ό BindingResult
μ λ΄μ 컨νΈλ‘€λ¬λ₯Ό νΈμΆνλ€.
FieldError
, ObjectError
μ μμ±μλ codes, argumentsλ₯Ό μ 곡νλ€. μ΄κ²μ μ€λ₯ λ°μ μ μ€λ₯ μ½λλ‘ λ©μμ§λ₯Ό μ°ΎκΈ° μν΄ μ¬μ©λλ€.
BindingResult
κ° μ 곡νλ rejectValue(), reject()λ₯Ό μ¬μ©νλ©΄ FieldError
, ObjectError
λ₯Ό μ§μ μμ±νμ§ μκ³ λ κΉλνκ² κ²μ¦ μ€λ₯λ₯Ό λ€λ£° μ μλ€.
MessageCodesResolver
κ²μ¦ μ€λ₯ μ½λλ‘ λ©μμ§ μ½λλ€μ μμ±νλ€.
required.item.itemName
μ²λΌ ꡬ체μ μΈ κ²μ λ¨Όμ λ§λ€μ΄μ£Όκ³ , required
μ²λΌ λ ꡬ체μ μΈ κ²μ κ°μ₯ λμ€μ λ§λ λ€.
ν¬κ² μ€μνμ§ μμ λ©μμ§λ λ²μ©μ± μλ required
κ°μ λ©μμ§λ‘ λλ΄κ³ , μ€μν λ©μμ§λ κΌ νμν λ ꡬ체μ μΌλ‘ μ μ΄μ μ¬μ©νλ λ°©μμ΄ ν¨κ³Όμ μ΄λ€.
κ³ ν©λλ€... μλ μ€νλ§ νΈλμμ λ κ°μ΄ λ°ννλ € νλλ° DBλ§ ν΄λ μμ΄ λ무 λ§λ€... κ²°κ΅ μΌλ¨ DB νΈλμμ λ§ μμ±νμ΅λλ€...
βοΈ μ€νλ§ MVC κ°μ λ΄μ© μ 리ν΄μ μ¬λ¦Ό!
βοΈ DB νΈλμμ
μ 리 λ° μΆκ° μλ£!