728x90
반응형
Validation이란 무엇인가?
Validation은 말 그대로 어떤것을 검증한다고 보면 됩니다.
검증을 위한 라이브러리 추천 joi (https://joi.dev/api/)
//예제코드
const Joi = require('joi');
const schema = Joi.object({
username: Joi.string()
.alphanum()
.min(3)
.max(30)
.required(),
password: Joi.string()
.pattern(new RegExp('^[a-zA-Z0-9]{3,30}$')),
repeat_password: Joi.ref('password'),
access_token: [
Joi.string(),
Joi.number()
],
birth_year: Joi.number()
.integer()
.min(1900)
.max(2013),
email: Joi.string()
.email({ minDomainSegments: 2, tlds: { allow: ['com', 'net'] } })
})
.with('username', 'birth_year')
.xor('password', 'access_token')
.with('password', 'repeat_password');
schema.validate({ username: 'abc', birth_year: 1994 });
// -> { value: { username: 'abc', birth_year: 1994 } }
schema.validate({});
// -> { value: {}, error: '"username" is required' }
// Also -
try {
const value = await schema.validateAsync({ username: 'abc', birth_year: 1994 });
}
catch (err) { }
728x90
반응형
'코딩공부 > Node.js' 카테고리의 다른 글
🔥노드js 개인 첫 프로젝트🔥 - 로그인,게시판,코멘트,라이크까지! (0) | 2022.12.29 |
---|---|
Node.js 심화반 - 2주차 선행지식 (0) | 2022.12.21 |
req.query , req.params, req.body, res.json (0) | 2022.12.20 |
웹개발 5주 완성 5주차 - DB, CRUD (조코딩) (0) | 2022.12.19 |
조코딩 - 백엔드 서버 클릭 몇번으로 무료 배포하는 방법 (0) | 2022.12.17 |