Validation
Validation
μ ν¨μ± κ²μ¬λ λͺ¨λ μΉ μμ© νλ‘κ·Έλ¨μ νμμ μΈ κΈ°λ₯μ
λλ€. λ€μ΄μ€λ μμ²μ μλμΌλ‘ νμΈνκΈ° μν΄ λ΄μ₯λ ValidationPipe
κ° μ¬μ©νλ class-validator ν¨ν€μ§λ₯Ό νμ©ν©λλ€. ValidationPipe
λ λ€μν κ°λ ₯ν μ ν¨μ± κ²μ¬ κ·μΉμ μ¬μ©νμ¬ λ€μ΄μ€λ ν΄λΌμ΄μΈνΈ νμ΄λ‘λλ₯Ό νμΈνλ νΈλ¦¬ν λ°©λ²μ μ 곡ν©λλ€.
Overview
νμ΄ν μ₯μμ μ°λ¦¬λ λ¨μνλ κ²μ¦ νμ΄νλ₯Ό λ§λλ κ³Όμ μ κ±°μ³€μ΅λλ€. μ°λ¦¬κ° μννλ μμ μ λ μ μ΄ν΄νλ €λ©΄ μ΄ κΈ°μ¬λ₯Ό μ½λ κ²μ΄ μ’μ΅λλ€. μ¬κΈ°μλ μ£Όλ‘ μ€μ μ¬μ© μ¬λ‘μ μ€μ μ λ κ²μ λλ€.
Auto-validation
μ΄ μμ΅μλ₯Ό μν΄ ValidationPipe
λ₯Ό μ 체 μμ© νλ‘κ·Έλ¨μ λ°μΈλ©νλ―λ‘ λͺ¨λ μλν¬μΈνΈκ° μλͺ»λ λ°μ΄ν°λ‘λΆν° μλμΌλ‘ 보νΈλ©λλ€.
νμ΄νλ₯Ό ν μ€νΈνκΈ° μν΄ κΈ°λ³Έ μλν¬μΈνΈλ₯Ό λ§λ€μ΄ λ΄ μλ€.
κ·Έλ° λ€μ CreateUserDtoμ λͺ κ°μ§ μ ν¨μ± κ²μ¬ κ·μΉμ μΆκ°νμμμ€.
μ΄μ λκ΅°κ°κ° μ ν¨νμ§ μμ email
λ‘ μλ ν¬μΈνΈλ₯Ό μμ²νλ©΄ μ ν리μΌμ΄μ
μ 400 Bad Request
μ½λμ λ€μ μλ΅ λ³Έλ¬ΈμΌλ‘ μλ΅ν©λλ€.
λΆλͺ
ν μλ΅ λ³Έλ¬Έμ ValidationPipe
μ μ μΌν μ¬μ© μ¬λ‘κ° μλλλ€. μλ ν¬μΈνΈ κ²½λ‘μμ :id
λ₯Ό λ°κ³ μΆλ€κ³ μμν΄ λ³΄μμμ€. κ·Έλλ μ«μλ§ μ ν¨ν©λλ€. μ΄κ²μ λ§€μ° κ°λ¨ν©λλ€.
κ·Έλ¦¬κ³ FindOneParams
λ λ€μκ³Ό κ°μ΅λλ€.
Disable detailed errors
μ€λ₯ λ©μμ§λ λ€νΈμν¬λ₯Ό ν΅ν΄ μ μ‘λ λ°μ΄ν°μ λ¬Έμ μ μ μ΄ν΄νλ λ° λ§μ λμμ΄ λ©λλ€. κ·Έλ¬λ μΌλΆ νλ‘λμ νκ²½μμλ μμΈν μ€λ₯λ₯Ό μ¬μ©νμ§ μμ μ μμ΅λλ€.
μ΄μ μ΅μ’ μ¬μ©μμκ² μ€λ₯ λ©μμ§κ° μ±μμ§μ§ μμ΅λλ€.
Stripping properties
μ’
μ’
미리 μ μ λ (νμ© λ) μμ±λ§ μ λ¬νκ³ μΆμ΅λλ€. μλ₯Ό λ€μ΄, μ°λ¦¬κ° email
κ³Ό password
μμ±μ κΈ°λνλ€λ©΄ λκ΅°κ°κ° age
λ₯Ό λ³΄λΌ λ μ΄ μμ±μ μ κ±°λμ΄ DTOμμ μ¬μ©ν μ μκ² λ©λλ€. μ΄λ¬ν λμμ κ°λ₯νκ²νλ €λ©΄whitelist
λ₯Ό true
λ‘ μ€μ νμμμ€.
μ΄ μ€μ μ νμ΄νΈλ¦¬μ€νΈμ ν¬ν¨λμ§ μμ (λ°μ½λ μ΄ν°μμ΄) μμ±μ μλ μ κ±°λ₯Ό νμ±νν©λλ€. κ·Έλ¬λ μμ² μ²λ¦¬λ₯Ό μμ ν μ€μ§νκ³ μ¬μ©μμκ² μ€λ₯ μλ΅μ λ°ννλ €λ©΄ whitelist
μ ν¨κ» forbidNonWhitelisted
λ₯Ό μ¬μ©νμμμ€.
Auto payload transforming
ValidationPipe
λ νμ΄λ‘λλ₯Ό ν΄λΉ DTO ν΄λμ€λ‘ μλ λ³ννμ§ μμ΅λλ€. 컨νΈλ‘€λ¬ λ©μλμμ createUserDto
λλ findOneParams
λ₯Ό μ΄ν΄λ³΄λ©΄ μ€μ ν΄λμ€κ° μλλΌλ κ²μ μ μ μμ΅λλ€. μλ λ³νμ νμ±ννλ €λ©΄transform
μtrue
λ‘ μ€μ νμμμ€.
Websockets & Microservices
μ΄λ¬ν λͺ¨λ μ§μΉ¨μ μ¬μ©μ€μΈ μ μ‘ λ°©λ²μ κ΄κ³μμ΄ WebSocketκ³Ό λ§μ΄ν¬λ‘ μλΉμ€λ₯Ό λͺ¨λ κ³ λ €νμ΅λλ€.
Learn more
μ¬μ©μ μ§μ μ ν¨μ± κ²μ¬κΈ°, μ€λ₯ λ©μμ§ λ° μ¬μ© κ°λ₯ν λ°μ½λ μ΄ν°μ λν μμΈν λ΄μ©μ λ³΄λ €λ©΄ μ΄ νμ΄μ§λ₯Ό λ°©λ¬Ένμμμ€.
Last updated
Was this helpful?