2024. 6. 18. 23:35ใTIL
๐กValidation ์ ํจ์ฑ ๊ฒ์ฌ
1. ์ ํจ์ฑ ๊ฒ์ฌ๋
: ์ ํจ์ฑ ๊ฒ์ฌ๋ ๋ฐ์ดํฐ๊ฐ ์๋ฒ ํน์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ์ฎ๊ฒจ์ง๊ธฐ ์ , ๊ฐ๋ฐ์๊ฐ ๋ง๋ ์กฐ๊ฑด์ ๋ถํฉํ๋์ง ํ์ธ, ๊ฒ์ฆํ๋ ์์ ์ ๋งํ๋ค.
2. Joi
: Joi๋ ์ฌ์ฉ์๊ฐ ์ ๋ ฅํ ๋ฐ์ดํฐ๊ฐ ์ ํจํ์ง ๊ฒ์ฌํ๋ ์ ํจ์ฑ ๊ฒ์ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๋ค. ๋ฐ์ดํฐ ๊ฒ์ฆ์ if๋ฌธ์ ์ฌ์ฉํ์ฌ ํ ์ ์์ง๋ง ์ ๋ ฅ ๋ฐ์ดํฐ๊ฐ ๋ง์ ๊ฒฝ์ฐ์๋ ๊ฒ์ฆํ๊ธฐ ํ๋ค์ด์ง๋ค. ์ด๋ฌํ ๊ฒฝ์ฐ Joi๋ฅผ ์ด์ฉํ์ฌ ์คํค๋ง ๊ธฐ๋ฐ์ผ๋ก ์ฌ์ ์ ๊ฐ ํ๋๋ณ ์ ํจํ ๋ฐ์ดํฐ์ ๊ธฐ์ค์ ์ ํด์ฃผ๊ณ , ํ์ํ ๊ณณ์ ํจ์ ํํ๋ก ๋ถ๋ฌ์ ์ฌ์ฉํ ์ ์์ด ๋ฐ์ดํฐ ์ ํจ์ฑ ๊ฒ์ฆ์ ํธํ๊ฒ ์ฌ์ฉํ ์ ์๋ค.
3.Joi ์ค์น ๋ฐ ์ฌ์ฉ
joi
Object schema validation. Latest version: 17.13.1, last published: 2 months ago. Start using joi in your project by running `npm i joi`. There are 12291 other projects in the npm registry using joi.
www.npmjs.com
- Joi ์ค์นํ๊ธฐ
$ yarn add Joi
- ์ฝ๋ ์์ฑ(์์)
import Joi from "joi";
import { MESSAGES } from "../../constants/message.constant.js";
const schema = Joi.object({
email: Joi.string().email().required().messages({
'any.required': MESSAGES.AUTH.COMMON.EMAIL.REQUIRED,
'string.email': MESSAGES.AUTH.COMMON.EMAIL.INVALID_FORMAT,
}),
password: Joi.string().required().messages({
'any.required': MESSAGES.AUTH.COMMON.PASSWORD.REQUIRED,
}),
});
- email : string ํ์ ์ email ํ์์ผ๋ก ์จ์ผํ๋ฉฐ required ํ์ํญ๋ชฉ์ด๋ค- password : string ํ์ ์ required ํ์ํญ๋ชฉ์ด๋ค. ์ด๋ฐ ํํ ์ด์ธ์๋ min()์ ์ฌ์ฉํ์ฌ ์ต์ ๊ธ์๋ฅผ ์ ํด์ค ์๋ ์๋ค.-' any.required ' : ํ์ ํญ๋ชฉ์ด ๋๋ฝ๋ ๊ฒฝ์ฐ ์๋ฌ๋ฉ์ธ์ง๋ฅผ ๋ณด๋ด์ค๋ค.- ' string.email ' : ์ด๋ฉ์ผ ํ์์ด ์ฌ๋ฐ๋ฅด์ง ์์ ๊ฒฝ์ฐ ์๋ฌ ๋ฉ์ธ์ง๋ฅผ ๋ณด๋ด์ค๋ค.
'TIL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
TIL( ์ฝ๋์ดํดํ๊ธฐ ) (0) | 2024.06.20 |
---|---|
TIL( TypeErrorํด๊ฒฐ) (0) | 2024.06.19 |
TIL (์๋ฌํธ๋ค๋ง & try...catch) (0) | 2024.06.17 |
TIL (ํ์ต์ง๋ฌธ &๋ต๋ณ) (0) | 2024.06.14 |
TIL ( ํ ์คํธ ์ฝ๋ ) (1) | 2024.06.13 |